aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlj1412 <lji@research.att.com>2017-02-14 15:11:37 +0000
committerlj1412 <lji@research.att.com>2017-02-14 15:11:39 +0000
commit21f2f785e12c961a7c19dbf6aecc0f7dd136506d (patch)
treebc7da0bb678cfe2c6d75eb8f78b5eb1b9e98aabe
parent48b5b4b734db2b757ad9091129cdeca2b2a26c5c (diff)
Init ncomp.openstack
Change-Id: Ica7bc6ac64c8359e7e3d9846450f9fe15dd38146 Signed-off-by: lj1412 <lji@research.att.com>
-rw-r--r--.gitignore1
-rw-r--r--.gitreview4
-rw-r--r--LICENSE.txt22
-rw-r--r--README.md8
-rw-r--r--deptree.text1
-rw-r--r--ncomp-openstack-controller/.classpath27
-rw-r--r--ncomp-openstack-controller/.gitignore1
-rw-r--r--ncomp-openstack-controller/.project35
-rw-r--r--ncomp-openstack-controller/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--ncomp-openstack-controller/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--ncomp-openstack-controller/.settings/org.eclipse.jdt.groovy.core.prefs2
-rw-r--r--ncomp-openstack-controller/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--ncomp-openstack-controller/LICENSE.txt22
-rw-r--r--ncomp-openstack-controller/META-INF/MANIFEST.MF15
-rw-r--r--ncomp-openstack-controller/build.properties6
-rw-r--r--ncomp-openstack-controller/pom.xml28
-rw-r--r--ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/Generator.java76
-rw-r--r--ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/OpenStackUtil.groovy1028
-rw-r--r--ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProvider.java161
-rw-r--r--ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProvider.java291
-rw-r--r--ncomp-openstack-controller/src/main/resources/OpenStackAdaptor.yaml12
-rw-r--r--ncomp-openstack-controller/src/main/server-gen/bin/openstack-controller-controller138
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/OpenStackController.yaml14
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/OpenStackLocation.yaml267
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackController.java111
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerClient.java89
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerConsole.java72
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProviderTemplate.java71
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerServer.java109
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenstackFactory.java54
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsLocationFactory.java54
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocation.java754
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationClient.java498
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationConsole.java332
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProviderTemplate.java213
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocation.properties294
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationMessageEnum.java83
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationOperationEnum.java77
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptor.properties6
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorMessageEnum.java35
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorOperationEnum.java30
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackController.properties18
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerMessageEnum.java37
-rw-r--r--ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerOperationEnum.java31
-rw-r--r--ncomp-openstack-feature/.project17
-rw-r--r--ncomp-openstack-feature/LICENSE.txt22
-rw-r--r--ncomp-openstack-model/.classpath32
-rw-r--r--ncomp-openstack-model/.gitignore2
-rw-r--r--ncomp-openstack-model/.project40
-rw-r--r--ncomp-openstack-model/.settings/org.eclipse.core.resources.prefs5
-rw-r--r--ncomp-openstack-model/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--ncomp-openstack-model/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--ncomp-openstack-model/LICENSE.txt22
-rw-r--r--ncomp-openstack-model/META-INF/MANIFEST.MF37
-rw-r--r--ncomp-openstack-model/build.properties12
-rw-r--r--ncomp-openstack-model/plugin.properties4
-rw-r--r--ncomp-openstack-model/plugin.xml57
-rw-r--r--ncomp-openstack-model/pom.xml18
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenStackController.java108
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackFactory.java63
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackPackage.java266
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerAlarm.java330
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFactory.java144
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFilter.java144
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerMeter.java39
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerOrderedBy.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerPackage.java2557
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerProject.java97
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerQuery.java107
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerRequest.java39
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerResource.java227
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerSample.java316
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerService.java103
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarm.java70
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarmRule.java252
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CreateAlarmRequest.java38
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/SampleRequest.java70
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerAlarmImpl.java708
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFactoryImpl.java215
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFilterImpl.java350
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerMeterImpl.java62
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerOrderedByImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerPackageImpl.java1123
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerProjectImpl.java246
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerQueryImpl.java280
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerRequestImpl.java62
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerResourceImpl.java513
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerSampleImpl.java672
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerServiceImpl.java256
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmImpl.java194
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmRuleImpl.java551
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CreateAlarmRequestImpl.java60
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/SampleRequestImpl.java196
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerAdapterFactory.java414
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerSwitch.java445
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Address.java152
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Addresses.java90
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeFactory.java261
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputePackage.java5045
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeService.java129
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Fault.java125
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Flavor.java333
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/FloatingIp.java179
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Image.java404
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/KeyPair.java125
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Link.java125
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Metadata.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestFlavor.java72
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestKeyPair.java72
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestNewServer.java243
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestPoll.java39
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestSecurityGroup.java72
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestServerAction.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Personality.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Reference.java90
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityGroup.java144
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRange.java71
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRule.java233
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Server.java789
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Volume.java323
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/VolumeAttachment.java152
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressImpl.java346
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressesImpl.java243
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeFactoryImpl.java358
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputePackageImpl.java2156
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeServiceImpl.java235
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FaultImpl.java292
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FlavorImpl.java729
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FloatingIpImpl.java400
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ImageImpl.java887
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/KeyPairImpl.java292
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/LinkImpl.java292
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/MetadataImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestFlavorImpl.java199
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestKeyPairImpl.java194
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestNewServerImpl.java562
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestPollImpl.java62
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestSecurityGroupImpl.java199
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestServerActionImpl.java239
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/PersonalityImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ReferenceImpl.java243
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityGroupImpl.java352
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRangeImpl.java184
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRuleImpl.java548
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ServerImpl.java1688
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeAttachmentImpl.java346
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeImpl.java713
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeAdapterFactory.java595
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeSwitch.java656
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CoreFactory.java90
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CorePackage.java999
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenStackRequest.java71
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestDelete.java97
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestPoll.java38
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRule.java155
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRuleProtocol.java283
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/VirtualMachineType.java354
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CoreFactoryImpl.java200
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CorePackageImpl.java519
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenStackRequestImpl.java184
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestDeleteImpl.java237
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestPollImpl.java60
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/SecurityRuleImpl.java348
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/VirtualMachineTypeImpl.java760
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreAdapterFactory.java233
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreSwitch.java236
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenStackControllerImpl.java269
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackFactoryImpl.java116
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackPackageImpl.java243
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/Hypervisor.java530
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuInfo.java171
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuTopology.java125
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorService.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationFactory.java117
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationPackage.java2747
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackLocation.java404
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackProject.java497
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackUser.java72
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackVersion.java370
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuInfoImpl.java416
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuTopologyImpl.java292
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorImpl.java1143
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorServiceImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationFactoryImpl.java233
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationPackageImpl.java1155
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackLocationImpl.java1375
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackProjectImpl.java1227
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackUserImpl.java185
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationAdapterFactory.java347
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationSwitch.java348
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/AllocationPool.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingProfile.java39
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingVifDetail.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateNetworkRequest.java208
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreatePortRequest.java226
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateRouterRequest.java187
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateSubnetRequest.java240
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/ExternalGateway.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/FixedIp.java98
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Network.java331
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFactory.java198
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFloatingIp.java286
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronObject.java39
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronPackage.java4335
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronRequest.java39
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityGroup.java169
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityRule.java313
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronService.java111
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Port.java517
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Router.java205
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Subnet.java365
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/AllocationPoolImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingProfileImpl.java62
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingVifDetailImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateNetworkRequestImpl.java453
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreatePortRequestImpl.java506
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateRouterRequestImpl.java421
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateSubnetRequestImpl.java549
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/ExternalGatewayImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/FixedIpImpl.java238
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NetworkImpl.java712
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFactoryImpl.java281
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFloatingIpImpl.java615
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronObjectImpl.java62
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronPackageImpl.java1962
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronRequestImpl.java62
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityGroupImpl.java404
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityRuleImpl.java669
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronServiceImpl.java204
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/PortImpl.java1146
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/RouterImpl.java480
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/SubnetImpl.java801
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronAdapterFactory.java485
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronSwitch.java542
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackAdapterFactory.java141
-rw-r--r--ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackSwitch.java131
-rw-r--r--ncomp-openstack-model/src/main/xcore/ceilometer.xcore130
-rw-r--r--ncomp-openstack-model/src/main/xcore/compute.xcore250
-rw-r--r--ncomp-openstack-model/src/main/xcore/core.xcore70
-rw-r--r--ncomp-openstack-model/src/main/xcore/location.xcore149
-rw-r--r--ncomp-openstack-model/src/main/xcore/neutron.xcore214
-rw-r--r--ncomp-openstack-model/src/main/xcore/openstack.xcore40
-rw-r--r--pom.xml84
243 files changed, 78482 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..34590c6
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.openecomp.org
+port=29418
+project=ncomp/openstack.git
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..30471b5
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,22 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9621325
--- /dev/null
+++ b/README.md
@@ -0,0 +1,8 @@
+
+Generic Openstack Adaptor.
+
+# Build instructions
+
+1. Clone the repository
+2. Build using Maven: mvn clean install
+
diff --git a/deptree.text b/deptree.text
new file mode 100644
index 0000000..406541b
--- /dev/null
+++ b/deptree.text
@@ -0,0 +1 @@
+org.openecomp.ncomp.openstack:ncomp-openstack:pom:0.1.0-SNAPSHOT
diff --git a/ncomp-openstack-controller/.classpath b/ncomp-openstack-controller/.classpath
new file mode 100644
index 0000000..fda728c
--- /dev/null
+++ b/ncomp-openstack-controller/.classpath
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" path="src/main/server-gen"/>
+ <classpathentry kind="src" path="src/main/sirius-gen"/>
+ <classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
+ <classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/ncomp-sirius-manager-drools"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/ncomp-openstack-controller/.gitignore b/ncomp-openstack-controller/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/ncomp-openstack-controller/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/ncomp-openstack-controller/.project b/ncomp-openstack-controller/.project
new file mode 100644
index 0000000..8c70b56
--- /dev/null
+++ b/ncomp-openstack-controller/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ncomp-openstack-controller</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/ncomp-openstack-controller/.settings/org.eclipse.core.resources.prefs b/ncomp-openstack-controller/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..31d1811
--- /dev/null
+++ b/ncomp-openstack-controller/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding//src/main/java/org/openecomp/ncomp/openstack/controller/tools/OpenStackUtil.groovy=UTF-8
+encoding/<project>=UTF-8
diff --git a/ncomp-openstack-controller/.settings/org.eclipse.jdt.core.prefs b/ncomp-openstack-controller/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..443e085
--- /dev/null
+++ b/ncomp-openstack-controller/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/ncomp-openstack-controller/.settings/org.eclipse.jdt.groovy.core.prefs b/ncomp-openstack-controller/.settings/org.eclipse.jdt.groovy.core.prefs
new file mode 100644
index 0000000..ae98fea
--- /dev/null
+++ b/ncomp-openstack-controller/.settings/org.eclipse.jdt.groovy.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+groovy.compiler.level=24
diff --git a/ncomp-openstack-controller/.settings/org.eclipse.m2e.core.prefs b/ncomp-openstack-controller/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/ncomp-openstack-controller/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/ncomp-openstack-controller/LICENSE.txt b/ncomp-openstack-controller/LICENSE.txt
new file mode 100644
index 0000000..30471b5
--- /dev/null
+++ b/ncomp-openstack-controller/LICENSE.txt
@@ -0,0 +1,22 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.
diff --git a/ncomp-openstack-controller/META-INF/MANIFEST.MF b/ncomp-openstack-controller/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..932b68c
--- /dev/null
+++ b/ncomp-openstack-controller/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ncomp-openstack-controller
+Bundle-SymbolicName: ncomp-openstack-controller
+Bundle-Version: 0.1.0.qualifier
+Export-Package: org.openecomp.ncomp.openstack.controller.tools,
+ org.openecomp.ncomp.servers.openstack,
+ org.openecomp.ncomp.servers.openstack.loc
+Require-Bundle: ncomp-core-types;bundle-version="0.1.0",
+ ncomp-sirius-manager-model;bundle-version="0.1.0",
+ ncomp-sirius-manager-server;bundle-version="0.1.0",
+ ncomp-sirius-manager-console;bundle-version="0.1.0",
+ ncomp-sirius-manager-generator;bundle-version="0.1.0",
+ ncomp-openstack-model;bundle-version="0.1.0",
+ ncomp-utils-java;bundle-version="0.1.0"
diff --git a/ncomp-openstack-controller/build.properties b/ncomp-openstack-controller/build.properties
new file mode 100644
index 0000000..a88a1ee
--- /dev/null
+++ b/ncomp-openstack-controller/build.properties
@@ -0,0 +1,6 @@
+source.. = src/main/java/,\
+ src/main/sirius-gen/,\
+ src/main/server-gen/
+bin.includes = META-INF/,\
+ .
+output.. = target/classes/
diff --git a/ncomp-openstack-controller/pom.xml b/ncomp-openstack-controller/pom.xml
new file mode 100644
index 0000000..b2eaab8
--- /dev/null
+++ b/ncomp-openstack-controller/pom.xml
@@ -0,0 +1,28 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.openecomp.ncomp.openstack</groupId>
+ <artifactId>ncomp-openstack-controller</artifactId>
+ <parent>
+ <groupId>org.openecomp.ncomp.sirius.manager</groupId>
+ <artifactId>ncomp-sirius-manager-base</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <relativePath>../../dcae-org.openecomp.ncomp.sirius.manager/ncomp-sirius-manager-base</relativePath>
+ </parent>
+ <dependencies>
+ <dependency>
+ <groupId>org.openecomp.ncomp.openstack</groupId>
+ <artifactId>ncomp-openstack-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.ncomp.sirius.manager</groupId>
+ <artifactId>ncomp-sirius-manager-console</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.dcae.operation</groupId>
+ <artifactId>operation-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/Generator.java b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/Generator.java
new file mode 100644
index 0000000..397b827
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/Generator.java
@@ -0,0 +1,76 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.ncomp.openstack.controller.tools;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.openecomp.utils.YamlToJava;
+import org.openecomp.ncomp.openstack.OpenstackFactory;
+import org.openecomp.ncomp.openstack.location.LocationFactory;
+import org.openecomp.ncomp.sirius.manager.controllermodel.ControllerModel;
+import org.openecomp.ncomp.sirius.manager.controllermodel.ControllermodelFactory;
+import org.openecomp.ncomp.sirius.manager.generator.ControllerGenerator;
+//import org.openecomp.ncomp.sirius.manager.gui.GuiFactory;
+import org.openecomp.ncomp.sirius.manager.server.ServerPackage;
+
+
+public class Generator {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ @SuppressWarnings("unused")
+ ServerPackage f = ServerPackage.eINSTANCE;
+ EObject o = OpenstackFactory.eINSTANCE.createOpenStackController();
+ EPackage p = o.eClass().getEPackage();
+ String dir = p.getNsURI().replace(p.getNsPrefix(),"") + "servers." + p.getNsPrefix();
+ dir= "src/main/sirius-gen/" + dir.replace('.', '/');
+ ControllerModel m = ControllermodelFactory.eINSTANCE.createControllerModel();
+ m.setTemplateDirectory("../../dcae-org.openecomp.ncomp.sirius.manager/ncomp-sirius-manager-generator/src/main/templates");
+ m.setPrefix("Os");
+ m.setPluginName(p.getNsURI());
+ m.setName("OpenStackController");
+ m.setTitle("OpenStack Controller");
+ ControllerGenerator g = new ControllerGenerator(o,m);
+ EObject loc =LocationFactory.eINSTANCE.createOpenStackLocation();
+ g.addObject("loc",loc,m);
+ g.setEnableIRequestHandler(false);
+ //EObject gui = GuiFactory.eINSTANCE.createGuiClientApi();
+ //g.addObject("gui",gui,m);
+ //EObject e = OpenstackFactory.eINSTANCE.createVpnEnterprise();
+ //g.addApi("e",e,m);
+ //g.addFactory("org.openecomp.ncomp.sirius.servers.openstack.OsOpenstackFactory");
+ g.generate(dir);
+ g.generateAnt("./ant.xml",true,true);
+ g.generateScripts("src/main/server-gen/bin","openstack-controller");
+ String pName = p.getNsURI().replaceAll(p.getNsPrefix()+'$',"") + "servers." + p.getNsPrefix() +".logging";
+ YamlToJava.convert("src/main/resources/OpenStackAdaptor.yaml", dir + "/logging", pName);
+ YamlToJava.convert("src/main/sirius-gen/OpenStackController.yaml", dir + "/logging", pName);
+ String pName1 = p.getNsURI().replaceAll(p.getNsPrefix()+'$',"") + "servers." + p.getNsPrefix() +".loc.logging";
+ YamlToJava.convert("src/main/sirius-gen/OpenStackLocation.yaml", dir + "/loc/logging", pName1);
+
+ }
+
+
+}
diff --git a/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/OpenStackUtil.groovy b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/OpenStackUtil.groovy
new file mode 100644
index 0000000..55155fc
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/openstack/controller/tools/OpenStackUtil.groovy
@@ -0,0 +1,1028 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.ncomp.openstack.controller.tools
+
+import org.openecomp.ncomp.sirius.manager.JavaHttpClient;
+import org.openecomp.ncomp.sirius.manager.Jetty8Client;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.manager.Subject;
+import org.openecomp.ncomp.sirius.manager.server.Response
+import org.openecomp.ncomp.core.NamedEntity
+import org.openecomp.ncomp.core.User
+import org.openecomp.ncomp.openstack.*
+import org.openecomp.ncomp.openstack.core.*
+import org.openecomp.ncomp.openstack.location.*
+import org.openecomp.ncomp.openstack.compute.*
+import org.openecomp.ncomp.openstack.location.OpenStackLocation
+import org.openecomp.ncomp.openstack.location.OpenStackProject
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.NeutronFactory;
+import org.openecomp.ncomp.openstack.neutron.NeutronObject;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronRequest
+import org.openecomp.ncomp.webservice.utils.FileUtils;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EAttribute
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage
+import org.eclipse.emf.ecore.EReference
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.HttpExchange;
+import org.eclipse.jetty.http.HttpHeaders;
+import org.eclipse.jetty.io.Buffer;
+import org.eclipse.jetty.io.BufferUtil;
+import org.eclipse.jetty.io.ByteArrayBuffer
+import org.json.JSONObject
+import org.json.JSONArray
+
+import static org.openecomp.ncomp.utils.PropertyUtil.getPropertiesFromClasspath
+
+
+class OpenStackUtil {
+ public static final Logger logger = Logger.getLogger(OpenStackUtil.class);
+ public static final Logger plogger = Logger.getLogger("org.openecomp.ncomp.openstack.OpenStackUtil.polling");
+ Properties props
+ List<OpenStackControllerProject> projects = []
+ ManagementServer server
+ OpenStackLocation loc // used for polling
+ OpenStackLocation realLocation // location in controller state.
+ boolean debug = false
+ int serverCreationTimeout
+ public long pollingFrequency = 300000
+
+ public OpenStackUtil(OpenStackLocation loc1, ManagementServer server1, String file = "openstack.properties") {
+ props = getPropertiesFromClasspath(file);
+ EPackage p1 = LocationPackage.eINSTANCE;
+ debug = Boolean.parseBoolean(props.getProperty("server.debug","false"));
+ serverCreationTimeout = Integer.parseInt(props.get("serverCreationTimeout","120"))
+ pollingFrequency = Integer.parseInt(props.get("pollingFrequency","300000"))
+ server = server1
+ realLocation = loc1
+ loc = EcoreUtil.copy(loc1)
+ loc.projects.each { p ->
+ projects += new OpenStackControllerProject(p)
+ }
+ System.err.println "OPENSTACK: debug=$debug pollingFrequency=$pollingFrequency"
+ logger.info("Found ${projects.size()} projects".toString())
+ if (!projects.find { it.tenantName == "admin"}) {
+ logger.warn("Missing Admin Openstack project")
+ }
+ }
+ static main(args) {
+ // BROKEN WITH THE NEW SETUP. Need to create Location object
+ // ALWAYS USE GMT.
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+ OpenStackUtil openstack = new OpenStackUtil()
+ switch ("T") {
+ case "T":
+ CreateNetworkRequest r = NeutronFactory.eINSTANCE.createCreateNetworkRequest()
+ r.name = "someone-test"
+ r.tenant_id = openstack.projects[0].tenantId
+ openstack.projects[0].create(r)
+ break
+ case "P":
+ openstack.poll()
+ println openstack.server.ecore2json(openstack.loc, 100, null, false).toString(2)
+ break
+ case "S": openstack.projects[0].createServer(); break
+ }
+
+ }
+ public OpenStackLocation poll() {
+ if (loc.keystoneUrl == null) {
+ logger.warn("No keystoneUrl for $loc.name")
+ return
+ }
+ plogger.info "Starting Logging"
+ if (props.get("noPoll","no") == "yes") return null
+ loc.images.clear()
+ def oldFlavors = []
+ loc.flavors.each { f -> oldFlavors += f }
+ loc.flavors.clear()
+
+ if (projects.size() == 0) {
+ logger.warn("No project to poll")
+ return
+ }
+
+ projects[0].updateGeneric(loc,"image")
+ try {
+ projects[0].updateGeneric(loc,"flavor")
+ }
+ catch (e) {
+ }
+ if (loc.flavors.size() == 0) {
+ logger.warn("Empty Flavor list, using old")
+ System.err.println("Empty Flavor list, using old")
+ oldFlavors.each { f -> loc.flavors.add(f) }
+ }
+ projects.each {OpenStackControllerProject p ->
+ p.poll()
+ }
+ realLocation.mergeLocation(loc)
+ server.save()
+// plogger.debug("${server.ecore2json(loc, 100, null, false).toString(2)}".toString())
+ plogger.info "Done Logging"
+
+ return loc
+ }
+ static def object2json(o,boolean fix = false) {
+ switch (o) {
+ case JSONObject: return o
+ case EObject: return ManagementServer.ecore2json(o, 100, null, false)
+ case List:
+ def j = [] as JSONArray
+ o.each { j.put(object2json(it,fix)) }
+ return j
+ case Map:
+ def j = [:] as JSONObject
+ o.each { String k,v ->
+ if (v == null) return
+ if (!fix) {j.put(k,object2json(v)); return}
+ switch (k) {
+ case "addresses":
+ def a = [] as JSONArray
+ j.put(k,a)
+ v.each { k1, v1 ->
+ a.put(object2json([ name : k1, ips : v1],fix))
+ }
+ break
+ case "metadata":
+ def a = [] as JSONArray
+ j.put(k,a)
+ v.each { k1, v1 ->
+ a.put(object2json([ key : k1, value :v1],fix))
+ }
+ break
+ case ~/.*:.*/:
+ // eg OS-EXT-STS:vm_state
+ j.put(k.replace("-", "_").replace(":", "_"),object2json(v,fix))
+// String[] a = k.split(":")
+// String nn = a[1]
+// def j1 = [:] as JSONObject
+// j1.put(nn,object2json(v,fix))
+// j.put(a[0].replace("-", "_").toLowerCase(),j1)
+ break
+ default: j.put(k,object2json(v,fix))
+ }
+ }
+ return j
+ case boolean: case Boolean:
+ case int: case Integer:
+ case long: case Long:
+ case double: case Double:
+ case JSONObject.Null:
+ case null:
+ case String: return o; break
+ case GString: return o.toString(); break
+ default: logger.warn "Unable to convert: $o".toString()
+ }
+ }
+ def json2object (o) {
+ switch (o) {
+ case JSONObject:
+ def m = [:]
+ o.map.each { n,v -> m[n] = json2object(v) }
+ return m
+ case JSONArray:
+ def a = []
+ o.myArrayList.each { a += json2object(it) }
+ return a
+ case boolean: case Boolean:
+ case int: case Integer:
+ case long: case Long:
+ case double: case Double:
+ case null:
+ case JSONObject.NULL:
+ case String: return o; break
+ case GString: return o.toString(); break
+ default: logger.warn "Unable to convert to object: $o ${o.getClass().name}".toString()
+ }
+ }
+ //{"flavor": {"vcpus": 1, "disk": 10, "name": "someone.test", "os-flavor-access:is_public": true, "rxtx_factor": 1, "OS-FLV-EXT-DATA:ephemeral": 33, "ram": 200, "id": 10001, "swap": 0}}
+ def x = [:]
+ def createFlavor(String projectName, VirtualMachineType vmType) {
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == projectName}
+ if (p == null) return "No project with name $projectName"
+ def fName = vmType.name
+ def i = null
+ switch (loc.version) {
+ case OpenStackVersion.FOLSOM: // old BSA version
+ def flavors = p.httpJsonTransaction([url : "${p.urls['nova']}/flavors"],false)
+ x.flavors = flavors
+ def existingId = null
+ synchronized (loc) {
+ i = loc.flavorId + 1
+ flavors.flavors.each { ff ->
+ def j = Integer.parseInt(ff.id)
+ // if (debug) System.err.println "Existing Flavors: id=$ff.id name=$ff.name"
+ if (i <= j) i = j + 1
+ if (fName == ff.name) existingId = ff.id
+ }
+ loc.flavorId = i
+ server.save()
+ }
+ break;
+ }
+ def req = [
+ url : "${p.urls['nova']}/flavors",
+ method : "POST",
+ body : [ flavor : [
+ vcpus: vmType.numberOfCores,
+ disk: vmType.rootDiskSizeGB,
+ name: fName,
+ "os-flavor-access:is_public": true,
+ rxtx_factor: 1,
+ "OS-FLV-EXT-DATA:ephemeral": vmType.diskSizeGB,
+ ram: vmType.memorySizeMB,
+ swap: 0]
+ ]
+ ]
+ if (i != null) req.body.flavor.identity = i
+ x.req = req
+ def res = p.httpJsonTransaction(req,false)
+ x.res = res
+ }
+ def createSecurityGroup(String projectName, VirtualMachineType vmType) {
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == projectName}
+ if (p == null) return "No project with name $projectName"
+ def gName = vmType.name
+ def req = [
+ url : "${p.urls['nova']}/os-security-groups",
+ method : "POST",
+ body : [ security_group : [ name: gName, description : "Automatically created" ] ]
+ ]
+ x.req = req
+ def res = p.httpJsonTransaction(req,false)
+ // {"security_group_rule": {"from_port": 22, "ip_protocol": "tcp", "to_port": 22, "parent_group_id": 12, "cidr": "0.0.0.0/0", "group_id": null}}
+ vmType.incomingSecurityRules.each { SecurityRule r ->
+ def id = res.security_group.id
+ def req2 = [
+ url : "${p.urls['nova']}/os-security-group-rules",
+ method : "POST",
+ body : [ security_group_rule : [
+ from_port: r.portRangeStart,
+ to_port: r.portRangeEnd,
+ ip_protocol: r.ipProtocol.toString(),
+ cidr: r.prefix,
+ parent_group_id: id,
+ ] ]
+ ]
+ def res2 = p.httpJsonTransaction(req2,false)
+ }
+ x.res = res
+ }
+ def delete(String projectName, String type, String name) {
+ if (debug) System.err.println "DELETING $projectName $type $name"
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == projectName}
+ if (p == null) return "No project with name $projectName"
+ def types = "${type}s"
+ def idName = "id"
+ def oName = "name"
+ def api = "nova"
+ def dtypes = types
+ def nameAttr = loc.version == OpenStackVersion.FOLSOM ? "display_name" : "name"
+ switch (type) {
+ case "volume": oName = nameAttr; api = "cinder"; break
+ case "flavor": types = "$types/detail"; break
+ case "security_group": types = "os-security-groups"; dtypes = types; break
+ case "keypair":
+ p.httpJsonTransaction([url : "${p.urls[api]}/os-$types/$name", method:"DELETE"],false,true,true,false)
+ if (debug) System.err.println "$type name=$name deleted"
+ return
+ }
+ def l = p.httpJsonTransaction([url : "${p.urls[api]}/$types"],false)
+ if (debug) System.err.println "l=$l"
+ if (debug) System.err.println "DELETE LIST:"
+ l["${type}s"].each { if (debug) System.err.println it }
+ if (debug) System.err.println "type=$type types=$types oName=$oName name=$name idName=$idName"
+ def fl = l["${type}s"].findAll { it[oName] == name }
+ if (debug) System.err.println "DELETEING LIST: $fl"
+ if (fl.size() == null) return "No $type with name $name"
+ fl.each { f ->
+ p.httpJsonTransaction([url : "${p.urls[api]}/$dtypes/${f[idName]}", method:"DELETE"],false,true,true,false)
+ if (debug) System.err.println "$type name=$name id=${f[idName]} deleted"
+ }
+ }
+
+ // {"volume": {"status": "creating", "availability_zone": "nova:lab2-bsa-02-bay04",
+ // "display_description": null, "snapshot_id": null, "user_id": null, "size": 2,
+ // "display_name": "someone.test", "imageRef": null, "attach_status": "detached",
+ // "volume_type": null, "project_id": null, "metadata": {}}}
+ def createVolume (OpenstackRequestNewServer req) {
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == req.projectName}
+ if (p == null) return "No project with name $projectName"
+ def reqV = [url : "${p.urls['cinder']}/volumes/detail"]
+ def resV = p.httpJsonTransaction(reqV,false)
+// System.out.println("VVVVVVVVVVVVVVVVVV: ${reqV}")
+// System.out.println("VVVVVVVVVVVVVVVVVV: ${resV}")
+ def nameAttr = loc.version == OpenStackVersion.FOLSOM ? "display_name" : "name"
+ def existingVol = resV.volumes.find { vol ->
+ ( vol["display_name"] ?: vol["name"] ) == req.name
+ }
+ if (existingVol != null) {
+ if (debug) System.err.println "EXISTING VOLUME: ${existingVol}"
+ switch (loc.version) {
+ case OpenStackVersion.FOLSOM:
+ if (existingVol.availability_zone != "nova:$req.hypervisor")
+ return [status:"error",message:"existing volume on wrong hypervisor: $existingVol.availability_zone"]
+ }
+ if ("$existingVol.size" != "$req.vmType.volumeSizeGB")
+ return [status:"error",message:"existing volume has wrong size: $existingVol.size"]
+ if (existingVol.status != "available")
+ return [status:"error",message:"existing volume is not available: $existingVol.status"]
+ return [status: "ok", volume: existingVol]
+ }
+ def req1 = [
+ url : "${p.urls['cinder']}/volumes",
+ method : "POST",
+ body : [ volume : [
+ display_name: req.name,
+ size: req.vmType.volumeSizeGB]
+ ]
+ ]
+ if (req.hypervisor != null) {
+ req1.body.volume.availability_zone = "nova:$req.hypervisor"
+ }
+ def res1 = p.httpJsonTransaction(req1,false,false)
+// System.out.println("VVVVVVVVVVVVVVVVVV req1: ${req1}")
+// System.out.println("VVVVVVVVVVVVVVVVVV res1: ${res1}")
+ def volume = res1.volume ?: null
+ // wait for the new volume to be available. Wait at most 10 seconds.
+ (1..10).each {
+ if (volume == null || volume.status == "available") return
+ sleep 1000
+ res1 = p.httpJsonTransaction([url : "${p.urls['cinder']}/volumes/$volume.id"],false,false)
+// System.out.println("VVVVVVVVVVVVVVVVVV res1 LOOP: ${res1}")
+ volume = res1.volume ?: null
+ }
+ if (volume == null) return [status:"error",message:res1]
+ if (volume.status != "available") return [status:"error",message:"new volume did not become available"]
+ return [status: "ok", volume: volume]
+ }
+ // {"server": {"name": "someone.test", "imageRef": "9a460998-6501-4008-9eed-a510cf9a13bc",
+ // "availability_zone": "nova:lab3-bsa-03-bay03", "key_name": "someone", "flavorRef": "2",
+ // "max_count": 1, "min_count": 1, "networks": [],
+ // "security_groups": [{"name": "default"}, {"name": "ssh"}]}}
+ def createServer (OpenstackRequestNewServer req) {
+ OpenStackControllerProject p
+ def loc = realLocation
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == req.projectName}
+ if (p == null) throw new RuntimeException( "No project with name $req.projectName" )
+ if (req.vmType == null) throw new RuntimeException("Null VmType")
+ String flavorName = req.vmType.flavorName ?: req.vmType.name
+ def flavor = loc.flavors.find { it.name == flavorName }
+ if (flavor == null) {
+ System.err.println "flavors $loc.name: ${loc.flavors.collect {it.name}}"
+ throw new RuntimeException("No flavor with name '$flavorName'")
+ }
+ if (req.vmType.imageName == null) req.vmType.imageName = req.vmType.name
+ def image = loc.images.find { it.name == req.vmType.imageName }
+ if (image == null) throw new RuntimeException( "No image with name $req.vmType.imageName")
+ def keypair = p.project.keypairs.find { it.name == req.user }
+ if (req.user != null && keypair == null) throw new RuntimeException( "No key pair with name $req.user")
+ def req1 = [
+ url : "${p.urls['nova']}/servers",
+ method : "POST",
+ body : [ server : [
+ name: req.name,
+ imageRef: image.id,
+ key_name: req.user,
+ flavorRef: flavor.id,
+ max_count: 1, min_count: 1, networks: [],
+ security_groups: [[name: "default"]],
+ config_drive: true,
+ ],
+ ]
+ ]
+ if (! loc.supportsSecurityGroups) req1.body.server.remove('security_groups')
+ req.networks.each {network -> req1.body.server.networks += [uuid:network]}
+ req.ports.each {port -> req1.body.server.networks += [port:port]}
+ if (req.hypervisor != null) {
+ req1.body.server.availability_zone = "nova:$req.hypervisor"
+ }
+ if (req.user_data != null) {
+ req1.body.server.user_data = req.user_data
+ }
+ x["req"] = req1
+ logger.info "create server request: ${object2json(req1).toString(2)}"
+ def server = p.httpJsonTransaction(req1,false)
+ logger.info "create server return: ${object2json(server).toString(2)}"
+ if (! server.server) {
+ throw new RuntimeException("create server failed: ${object2json(server).toString(2)}")
+ }
+ def vol
+ if (req.vmType.volumeSizeGB > 0) {
+ vol = createVolume(req)
+// System.err.println "VOLUME= $req $vol "
+ if (vol.status != "ok") {
+ throw new RuntimeException("create volume failed: $vol.message")
+ }
+ }
+ String sid = server.server.id
+ // wait upto 2 minutes for status to become ACTIVE
+ def status = "??"
+ (1..serverCreationTimeout/5).each {
+ if (status == "ACTIVE") return
+ sleep 5000
+ def x = p.httpJsonTransaction([url : "${p.urls['nova']}/servers/$sid"])
+// if (debug) System.err.println "Waiting status=$x.server.status"
+ status = x.server.status
+ }
+ logger.info "Done waiting status=$status"
+ if (status != "ACTIVE") {
+ throw new RuntimeException("create server failed to get ACTIVE: ${object2json(server).toString(2)}")
+ }
+// if (debug) System.err.println object2json(server).toString(2)
+ if (req.vmType.volumeSizeGB > 0) {
+// if (debug) System.err.println object2json(vol.volume).toString(2)
+ def attach = [
+ url : "${p.urls['nova']}/servers/$sid/os-volume_attachments",
+ method : "POST",
+ body : [ volumeAttachment: [volumeId: vol.volume.id, device: "/dev/vdc"]]
+ ]
+ server["volume"] = vol
+// if (debug) System.err.println "attach request: ${object2json(attach).toString(2)}"
+ def a = p.httpJsonTransaction(attach,false)
+// if (debug) System.err.println object2json(a).toString(2)
+ server["volume_attach"] = a
+ }
+ if (req.vmType.incomingSecurityRules.size() > 0 && loc.supportsSecurityGroups) {
+ def addSecurityGroup = [
+ url : "${p.urls['nova']}/servers/$sid/action",
+ method : "POST",
+ body : [ addSecurityGroup: [name: "$req.vmType.name"]]
+ ]
+ def res4 = p.httpJsonTransaction(addSecurityGroup,false,true,true,false)
+ }
+ if (req.vmType.needPublicIp) {
+ sleep 10000
+ server["ip"] = addFloatingIp(req.projectName, sid, req.floatingIp)
+ }
+ x["res"] = server
+// if (debug) System.err.println object2json(server).toString(2)
+ return server
+ }
+ def createKeypair (String projectName, User user) {
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == projectName}
+ if (p == null) return "No project with name $projectName"
+ def req1 = [
+ url : "${p.urls['nova']}/os-keypairs",
+ method : "POST",
+ body : [ keypair : [
+ name: user.name,
+ public_key: user.publicKey]
+ ]
+ ]
+ def k = p.httpJsonTransaction(req1,false)
+// if (debug) System.err.println k
+ return k
+ }
+ def addFloatingIp(String projectName,sid,requestIp) {
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == projectName}
+ if (p == null) return "No project with name $projectName"
+ def res = p.httpJsonTransaction([url : "${p.urls['nova']}/os-floating-ips"],false)
+ def ip = null
+// if (debug) System.err.println object2json(res).toString(2)
+ res.floating_ips.each { x ->
+ if (debug) System.err.println "AAAAAAAAAA ${object2json(x).toString(2)} ${x['instance_id']}"
+ if (requestIp != null && requestIp != "$x.ip") return
+ if ("${x['instance_id']}" == "null") ip = x.ip
+ }
+ if (requestIp != null && ip == null) {
+ throw new RuntimeException("Unable to find requested floating IP: $requestIp")
+ }
+ if (ip == null) {
+ res = p.httpJsonTransaction([method:"POST", url : "${p.urls['nova']}/os-floating-ips"],false)
+// if (debug) System.err.println object2json(res).toString(2)
+ ip = res.floating_ip.ip
+ if (debug) System.err.println "Using new ip: $ip"
+ } else {
+ if (debug) System.err.println "Using old ip: $ip"
+ }
+ def req = [
+ url : "${p.urls['nova']}/servers/$sid/action",
+ method : "POST",
+ body : [ addFloatingIp: [address: ip]]
+ ]
+// if (debug) System.err.println object2json(req).toString(2)
+ p.httpJsonTransaction(req,false,true,true,false)
+ return ip
+ }
+ def action(req) {
+ switch (req) {
+ case OpenstackRequestDelete: delete(req.projectName,req.objectType, req.objectName); break
+ case OpenstackRequestKeyPair: createKeypair(req.projectName,req.user); break
+ case OpenstackRequestFlavor: createFlavor(req.projectName,req.vmType); break
+ case OpenstackRequestSecurityGroup: createSecurityGroup(req.projectName,req.vmType); break
+ case OpenstackRequestNewServer:
+ def r = createServer(req)
+ logger.info "createServer returns: $r"
+ break;
+ }
+ }
+ Response serverAction(OpenstackRequestServerAction req) {
+ OpenStackControllerProject p
+ p = projects.find {OpenStackControllerProject p1 -> p1.tenantName == req.projectName}
+ if (p == null) {
+ logger.warn "serverAction with null $req.projectName"
+ throw new RuntimeException("no Openstack project $req.projectName")
+ }
+ Server s = p.project.servers.find { it.name == req.name }
+ if (s == null) {
+ logger.warn "serverAction unable to find VM with name $req.name in $req.projectName"
+ throw new RuntimeException("unable to find VM with name $req.name in $req.projectName")
+ }
+ def url = "${p.urls['nova']}/servers/$s.ID/action"
+ def res
+ switch (req.action) {
+ case "stop":
+ case "start":
+ res = p.httpJsonTransaction([url:url,method:"POST",body:["os-$req.action":"null"]],false,true,true,false)
+ break;
+ case "pause":
+ case "unpause":
+ case "suspend":
+ case "resume":
+ case "lock":
+ case "unlock":
+ res = p.httpJsonTransaction([url:url,method:"POST",body:["$req.action":"null"]],false,true,true,false)
+ break;
+ case "reboot":
+ res = p.httpJsonTransaction([url:url,method:"POST",body:[reboot:[type:"SOFT"]]],false,true,true,false)
+ break;
+ case "hardReboot":
+ res = p.httpJsonTransaction([url:url,method:"POST",body:[reboot:[type:"HARD"]]],false,true,true,false)
+ break;
+ case "reset-state":
+ res = p.httpJsonTransaction([url:url,method:"POST",body:['os-resetState':[state:"error"]]],false,true,true,false)
+ break;
+ case "reset-state-active":
+ res = p.httpJsonTransaction([url:url,method:"POST",body:['os-resetState':[state:"active"]]],false,true,true,false)
+ break;
+ default:
+ logger.error "unknown nova command $req.action";
+ return
+ }
+ if (res == null) {
+ logger.warn "ran nova command $req.action on $req.name succesfully"
+ return
+ }
+ logger.error "ran nova command $req.action on $req.name: $res"
+ }
+
+ OpenStackControllerProject findProject(String name) {
+ return projects.find {OpenStackControllerProject p1 -> p1.tenantName == name}
+ }
+
+
+class OpenStackControllerProject {
+ HttpClient httpClient
+ def tokens = null
+ String password
+ String username
+ String tenantName
+ String tenantId
+ String keystoneUrl
+ OpenStackProject project
+ def urls = [:]
+ public OpenStackControllerProject(OpenStackProject project1) {
+ project = project1
+ tenantName = project.name
+ username = project.adminUser
+ password = props.get("${loc.name}.password.$username".toString())
+ if (password == null) {
+ // BSA setup
+ password = props.get("project.${project.name}.password".toString())
+ }
+ if (password == null) {
+ logger.warn("No password for $loc.name $project.name")
+ System.err.println "No password for $loc.name $project.name $username"
+ }
+ password = JavaHttpClient.decryptPassword(password)
+ tenantId = project.tenantId
+ keystoneUrl = loc.keystoneUrl
+// if (debug) System.err.println "u=$username pw=$password tenantId=$tenantId"
+ // Remove the refs are supported.
+// logger.info "${server.ecore2json(loc, 100, null, false).toString(2)}".toString()
+// if (debug) System.err.println "${server.ecore2json(project, 100, null, false).toString(2)}"
+ httpClient = new HttpClient()
+ httpClient.start();
+ updateTokens()
+ }
+ public void poll() {
+// updateImages()
+// updateGeneric(loc,"image")
+// updateGeneric(loc,"flavor")
+ updateServers()
+ updateHypervisor()
+ try { updateSecurityGroups() } catch (e) { println "updateSecurityGroups failed: $e" }
+ updateVolumes()
+ updateKeypairs()
+ if (urls['neutron'] != null) {
+ updateGenericNeutron(project, "network")
+ updateGenericNeutron(project, "subnet")
+ updateGenericNeutron(project, "router")
+ updateGenericNeutron(project, "port")
+ updateGenericNeutron(project, "security_group")
+ updateGenericNeutron(project, "floatingip")
+ }
+ server.save()
+ }
+ /**
+ * Polls the Openstack Nova API for all the nova state (e.g, servers, images,..)
+ * for a project.
+ */
+ def synchronized void updateTokens() {
+ if (keystoneUrl == null) {
+ logger.warn("No keystoneUrl for $loc.name")
+ return
+ }
+ if (password == null) {
+ logger.warn("No password for $loc.name")
+ return
+ }
+ def req = [ url : "$keystoneUrl/tokens", method : "POST",
+ body :[ auth : [passwordCredentials : [username: username, password: password], tenantId: tenantId]]
+ ]
+
+ // RACKSPACE
+ if (project.apiKey != null) {
+ req.body.auth = ["RAX-KSKEY:apiKeyCredentials" : [username: username, apiKey: JavaHttpClient.decryptPassword(project.apiKey)]]
+ }
+ // {"auth": {"RAX-KSKEY:apiKeyCredentials": {"username": "ft123456", "apiKey": "dae41ba7484d4f8482"}}}
+
+ tokens = httpJsonTransaction(req,,false,false,false)
+ if (debug) System.err.println object2json(tokens).toString(2)
+ if (! tokens.access) {
+ if (debug) System.err.println "Unabled to access tenant: $tenantName : ${object2json(tokens).toString(2)}"
+ logger.fatal "Unabled to access tenant: $tenantName : ${object2json(tokens).toString(2)}"
+ return;
+ }
+ tokens.access.serviceCatalog.each { it ->
+ def u = it.endpoints.get(0).publicURL
+ it.endpoints.each { x ->
+ if (x['region'] == project.region)
+ u = x.publicURL
+ }
+ urls[it.name] = u
+ if (debug) System.err.println "serviceCatalog $it.name -> ${urls[it.name]}"
+ }
+ // RACKSPACE
+ [ images :"cloudImages",
+ nova:"cloudServersOpenStack",
+ neutron: "cloudNetworks",
+ cinder: "cloudBlockStorage"]. each { n, v ->
+ if (urls[n] == null && urls[v] != null) {
+ System.err.println "Using $v service for $n"
+ if (n == "neutron" && urls[v].endsWith("/v2.0"))
+ urls[v] = urls[v].replace("/v2.0","")
+ urls[n] = urls[v]
+ }
+ if (urls[n] != null) {
+ System.err.println "No $n service"
+ }
+ }
+ }
+ def void updateImages() {
+ def req1 = [url : "${urls['nova']}/images"]
+ def res1 = httpJsonTransaction(req1)
+// if (debug) System.err.println object2json(res1).toString(2)
+ loc.images.clear()
+ res1.images.each { s ->
+ def req2 = [url : s.links[0].href]
+ def res2 = httpJsonTransaction(req2)
+ logger.debug(object2json(res2).toString(2))
+ createFromJson(server, new Subject(loc, "images"),object2json(res2.image,true)) ;
+ }
+ }
+ def void updateKeypairs() {
+ def req1 = [url : "${urls['nova']}/os-keypairs"]
+ def res1 = httpJsonTransaction(req1)
+ project.keypairs.clear()
+ res1.keypairs.each { s ->
+ createFromJson(server, new Subject(project, "keypairs"),object2json(s.keypair,true)) ;
+ }
+ }
+ def void updateGeneric(o,name) {
+ def req1 = [url : "${urls['nova']}/${name}s"]
+ def res1 = httpJsonTransaction(req1)
+// if (debug) System.err.println object2json(res1).toString(2)
+ o["${name}s"].clear()
+ res1["${name}s"].each { s ->
+// logger.info("getting ${s.links[0].href}")
+ def req2 = [url : s.links[0].href]
+ def res2 = httpJsonTransaction(req2)
+// logger.debug( object2json(res2).toString(2))
+// if (debug) System.err.println "o=$o name=$name"
+ createFromJson(server, new Subject(o, "${name}s"),object2json(res2[name],true)) ;
+ }
+ }
+ def void updateGenericNeutron(o,name) {
+ def req1 = [url : "${urls['neutron']}/v2.0/${name.replace('_','-')}s"]
+ def res1 = httpJsonTransaction(req1)
+// if (debug) System.err.println object2json(res1).toString(2)
+ o["${name}s"].clear()
+ res1["${name}s"].each { s ->
+ if (s.tenant_id != null && s.tenant_id != tenantId) return
+ JSONObject json = OpenStackUtil.object2json(s,true)
+// if (debug) System.err.println json.toString(2)
+// if (debug) System.err.println "o=$o id=$s.id"
+ if (s.name == null || s.name == "" || name == "security_group") json.put("name", s.id)
+ createFromJson(server, new Subject(o, "${name}s"),json) ;
+ }
+ }
+ def createFromJson(ManagementServer server,subject,JSONObject json) {
+ server.create(subject,json,false)
+ }
+
+ def void updateHypervisor() {
+ if (tenantName != "admin") return
+ def req1 = [url : "${urls['nova']}/os-hypervisors/detail"]
+ def res1 = null;
+ try { res1 = httpJsonTransaction(req1) } catch (e) {
+ logger.error "Unable to get Hypervisor information: $e"
+ return
+ }
+// if (debug) System.err.println object2json(res1).toString(2)
+ loc.hypervisors.clear()
+ res1.hypervisors.each { s ->
+ def json = new JSONObject(s.cpu_info)
+ s.cpu_info = json2object(json)
+// if (debug) System.err.println s
+// if (debug) System.err.println object2json(s,true)
+// logger.info(object2json(s).toString(2))
+ createFromJson(server, new Subject(loc, "hypervisors"),object2json(s,true))
+ }
+ loc.hypervisors.each { it.name = it.service.host }
+ }
+
+ def void updateSecurityGroups() {
+ def req1 = [url : "${urls['nova']}/os-security-groups"]
+ def res1 = httpJsonTransaction(req1)
+// if (debug) System.err.println object2json(res1).toString(2)
+ project.groups.clear()
+ res1.security_groups.each { s ->
+// logger.info(object2json(s).toString(2))
+ createFromJson(server, new Subject(project, "groups"),object2json(s,true))
+ }
+ }
+
+ def void updateVolumes() {
+ if (urls['cinder'] == null) return
+ def req1 = [url : "${urls['cinder']}/volumes/detail"]
+ def res1 = httpJsonTransaction(req1)
+// if (debug) System.err.println object2json(res1).toString(2)
+// System.out.println("VVVVVVVVVVVVVVVVVV poll res1: ${res1}")
+ project.volumes.clear()
+ res1.volumes.each { s ->
+// logger.info(object2json(s).toString(2))
+ createFromJson(server, new Subject(project, "volumes"),object2json(s,true))
+ }
+ if (loc.version == OpenStackVersion.FOLSOM )
+ project.volumes.each { it.name = it.display_name }
+ project.volumes.each {
+ if (it.name == null) it.name = it.display_name
+ }
+ }
+
+ def void updateFloatingIps() {
+ def req1 = [url : "${urls['nova']}/os-floating-ips"]
+ def res1 = httpJsonTransaction(req1)
+// if (debug) System.err.println object2json(res1).toString(2)
+ project.ips.clear()
+ res1.floating_ips.each { s ->
+// logger.info(object2json(s).toString(2))
+ createFromJson(server, new Subject(project, "ips"),object2json(s,true))
+ }
+ }
+ def void updateServers() {
+ def req1 = [url : "${urls['nova']}/servers" ]
+ def res1 = httpJsonTransaction(req1)
+ project.servers.clear()
+// if (debug) System.err.println OpenStackUtil.object2json(res1).toString(2)
+ res1.servers.each { s ->
+ def req2 = [url : s.links[0].href ]
+ def res2 = httpJsonTransaction(req2)
+// if (debug) System.err.println OpenStackUtil.object2json(res2).toString(2)
+// return
+// logger.debug(object2json(res2).toString(2))
+ if (res2.server.image == "") res2.server.image = null
+ createFromJson(server, new Subject(project, "servers"),object2json(res2.server,true))
+// def req3 = [url : res2.server.image.links[0].href]
+// def res3 = httpJsonTransaction(req3)
+// logger.debug( object2json(res3).toString(2))
+// def req4 = [url : res3.choices[0].links[0].href]
+// def res4 = httpJsonTransaction(req4)
+// logger.debug( object2json(res4).toString(2))
+ }
+ }
+ def NeutronObject create(NeutronRequest req) {
+ def ename = req.eClass().name
+ def cname = ename.substring(6,ename.length()-7)
+ def name = cname.toLowerCase()
+ switch (req) {
+ case CreateNetworkRequest: name = "network"; cname = "Network"; break
+ }
+ JSONObject j = new JSONObject()
+ // TODO look at annotations in ecore2json
+ JSONObject jj = ManagementServer.ecore2json(req, 100, null, false)
+ jj.remove('$class')
+ jj.remove('projectName')
+ req.eClass().EAllAttributes.each { EAttribute attr ->
+ EAnnotation anno = attr.getEAnnotation("http://openecomp.org/sirius/openstack");
+ if (anno == null) return
+ String name1 = anno.details.get("name")
+ if (name1 != null && jj.has(attr.name)) {
+ def v = jj.get(attr.name)
+ jj.remove(attr.name)
+ jj.put(name1, v)
+ }
+ name1 = anno.details.get("removeEmptyList")
+ if (name1 == "true" && jj.has(attr.name)) {
+ def v = jj.get(attr.name)
+ switch (v) {
+ case JSONArray:
+ if (v.length() == 0) jj.remove(attr.name)
+ }
+ }
+ }
+ req.eClass().EAllReferences.each { EReference ref ->
+ EAnnotation anno = ref.getEAnnotation("http://openecomp.org/sirius/openstack");
+ if (anno == null) return
+ String name1 = anno.details.get("name")
+ if (name1 != null && jj.has(ref.name)) {
+ def v = jj.get(ref.name)
+ jj.remove(ref.name)
+ jj.put(name1, v)
+ }
+ name1 = anno.details.get("removeEmptyList")
+ if (name1 == "true" && jj.has(ref.name)) {
+ def v = jj.get(ref.name)
+ switch (v) {
+ case JSONArray:
+ if (v.length() == 0) jj.remove(ref.name)
+ }
+ }
+ }
+ j.put(name, jj)
+ if (debug) System.err.println jj.toString(2)
+ def req1 = [url : "${urls['neutron']}/v2.0/${name.replace('_','-')}s", method:"POST", body:j]
+ if (debug) System.err.println req1
+ def res1 = httpJsonTransaction(req1)
+ if (debug) System.err.println res1
+ j = OpenStackUtil.object2json(res1[name],true)
+ if (debug) System.err.println j == null ? "NULL" : j.toString(2)
+ return server.json2ecore(NeutronPackage.eINSTANCE.getEClassifier(cname),j, false)
+ }
+ def void deleteNeutron(String type, String name) {
+ project["${type}s"].each { o ->
+ if (o.name != name) return
+ logger.warn "deleting $type $name $o.id"
+ def req1 = [url : "${urls['neutron']}/v2.0/${type.replace('_','-')}s/$o.id", method:"DELETE"]
+ if (debug) System.err.println req1
+ def res1 = httpJsonTransaction(req1,false,true,true,false)
+ if (debug) System.err.println res1
+ }
+ }
+ def httpJsonTransaction(m, boolean polling = true, boolean throwError = true, boolean addAuth = true, boolean expectResponse = true) {
+ def exchange = new Exchange()
+ if (debug) System.err.println "m=$m"
+ def url = m.url ?: "${urls[m.api]}/$m.uri"
+ if (loc.bypassIp) {
+ url = url.replaceFirst("http://.*:", "http://$loc.bypassIp:")
+ }
+ exchange.setURL(url);
+ if (debug) System.err.println "URL=$url"
+ exchange.setMethod(m.method ?: "GET");
+ def headers = m.headers ?: [:]
+ headers['Content-type'] = 'application/json'
+ if (addAuth) {
+ headers['X-Auth-Token'] = tokens.access.token.id
+ headers['X-Auth-Project-Id'] = project.tenantId
+ }
+ headers.each { n,v ->
+ exchange.addRequestHeader(n, v);
+ if (debug) System.err.println "Header: $n: $v"
+ }
+ if (m.body) {
+ String json = object2json(m.body).toString()
+// logger.info("REQUEST: ${object2json(m.body).toString(2)}")
+ if (debug) System.err.println "REQUEST BODY: $json"
+// exchange.setRequestContentSource(new ByteArrayInputStream(json.bytes))
+ exchange.setRequestContent(new ByteArrayBuffer(json.bytes));
+ }
+// if (debug) System.err.println "Sending request"
+ Date start = new Date()
+ httpClient.send(exchange)
+// if (debug) System.err.println "Exchange sent"
+ int exchangeState = exchange.waitForDone();
+ if (debug) System.err.println "Exchange done: $exchangeState"
+ if (debug) System.err.println "code=$exchange.code content=$exchange.content"
+ if (polling) plogger.info "content=$exchange.content"
+ else logger.info "content=$exchange.content"
+ def res = exchange.content.toString()
+ if (res == "" && ! expectResponse) return null
+ if (res == "") {
+ def duration = new Date().time - start.time
+ throw new RuntimeException("Openstack API returned NULL: $url duration=$duration")
+ }
+ if (res.startsWith("401 Unauthorize") || res.startsWith("Authentication required")) {
+ // keystone auth expired
+ logger.info("keystone auth expired, updating tokens and resending request")
+ updateTokens();
+ return httpJsonTransaction(m, polling, throwError, addAuth)
+ }
+ if (res.startsWith("404 Not Found")) {
+ if (throwError)
+ throw new RuntimeException("Openstack API: 404 Not Found")
+ return null
+ }
+ JSONObject json = new JSONObject(res)
+ if (exchange.code < 200 || exchange.code >= 300) {
+ if (throwError && json.has("expection")) {
+ throw new RuntimeException("Openstack API: expection $json")
+ }
+ if (throwError && json.has("badRequest")) {
+ throw new RuntimeException("Openstack API: badRequest $json")
+ }
+ if (throwError && json.has("itemNotFound")) {
+ throw new RuntimeException("Openstack API: itemNotFound $json")
+ }
+ if (throwError && json.has("NeutronError")) {
+ throw new RuntimeException("Openstack API: NeutronError $json")
+ }
+ if (throwError) {
+ throw new RuntimeException("Openstack API: Error $json")
+ }
+ }
+
+ if (debug) System.err.println json.toString(2)
+// logger.info("RETURNED: ${json.toString(2)}")
+ return json2object(json)
+ }
+ public void associateFloatingIp(String ipId, String portId) {
+ def req1 = [url : "${urls['neutron']}/v2.0/floatingips/$ipId", method:"PUT", body:[floatingip:[port_id:portId]]]
+ if (debug) System.err.println req1
+ def res1 = httpJsonTransaction(req1,false,true,true,false)
+ if (debug) System.err.println res1
+// return server.json2ecore(NeutronPackage.eINSTANCE.getEClassifier(cname),j, false)
+ }
+
+
+}
+
+private class Exchange extends HttpExchange {
+ String version2;
+ int code;
+ String message;
+ String location;
+ StringBuffer content = new StringBuffer();
+
+ protected void onResponseHeader(Buffer name, Buffer value) {
+// System.out.println("HEADER: " + name + " " + value);
+ if (name.toString().equals("Location"))
+ location = value.toString();
+ }
+
+ protected void onResponseStatus(Buffer httpVersion, int statusCode, Buffer statusMessage) {
+// if (debug) System.err.println "v=$httpVersion code=$statusCode m=$statusMessage"
+ version2 = httpVersion.toString();
+ code = statusCode;
+ message = statusMessage.toString();
+ }
+ protected void onResponseContent(Buffer content) {
+ this.content.append(content.toString());
+ }
+
+}
+}
+
diff --git a/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProvider.java b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProvider.java
new file mode 100644
index 0000000..07941a9
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProvider.java
@@ -0,0 +1,161 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.ncomp.servers.openstack;
+
+import java.util.Date;
+import java.util.HashMap;
+
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+
+import org.openecomp.logger.EcompLogger;
+import org.openecomp.ncomp.openstack.OpenStackController;
+import org.openecomp.ncomp.openstack.controller.tools.OpenStackUtil;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import org.openecomp.ncomp.servers.openstack.logging.OpenStackAdaptorMessageEnum;
+import org.openecomp.ncomp.servers.openstack.logging.OpenStackAdaptorOperationEnum;
+import org.openecomp.ncomp.sirius.manager.BasicAdaptorProvider;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServerError;
+import org.openecomp.ncomp.sirius.manager.ManagementServerUtils;
+import org.openecomp.ncomp.sirius.manager.server.ServerPackage;
+
+public class OsOpenStackControllerProvider extends BasicAdaptorProvider {
+ public static final Logger logger = Logger.getLogger(OsOpenStackControllerProvider.class);
+ static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
+ private HashMap<String, OpenStackUtil> utils = new HashMap<String, OpenStackUtil>();
+ private HashMap<String, Thread> pollers = new HashMap<String, Thread>();
+ private HashMap<String, Date> lastPoll = new HashMap<String, Date>();
+ private OpenStackController o;
+ private OsOpenStackControllerClient parent = null;
+ protected long pollingFrequency;
+
+ public OsOpenStackControllerProvider(ISiriusServer controller, OpenStackController o) {
+ super(controller, o);
+ this.o = o;
+ for (OpenStackLocation l : o.getLocations()) {
+ if (!l.isRemoteLocation()) {
+ startOpenstackPolling(l);
+ }
+ }
+ if (controller.getServer().getProps().containsKey("openstackParent.endpoint")) {
+ parent = new OsOpenStackControllerClient("location.properties", "openstackParent");
+ }
+ }
+
+ private synchronized void startOpenstackPolling(final OpenStackLocation l) {
+ Thread t = pollers.get(l.getName());
+ if (t != null && t.isAlive()) {
+ return;
+ }
+ t = new Thread("openstackPoller " + l.getName()) {
+ @Override
+ public void run() {
+ ecomplogger.setOperation(OpenStackAdaptorOperationEnum.POLLING);
+ while (true) {
+ Date lastPoll2 = lastPoll.get(l.getName());
+ if (lastPoll2 == null || lastPoll2.getTime() + pollingFrequency < new Date().getTime()) {
+ try {
+ ecomplogger.newRequestId();
+ ecomplogger.recordAuditEventStart();
+ openstackPolling(l);
+ } catch (Exception e) {
+ ecomplogger.warn(OpenStackAdaptorMessageEnum.POLLING_FAILED, ManagementServer.object2ref(l));
+ ManagementServerUtils.printStackTrace(e);
+ }
+ finally {
+ ecomplogger.recordAuditEventEnd();
+ }
+ }
+ try {
+ Thread.sleep(30000);
+ } catch (InterruptedException e1) {
+ }
+ }
+ };
+ };
+ t.setDaemon(true);
+ t.start();
+ pollers.put(l.getName(), t);
+ }
+
+ protected void openstackPolling(OpenStackLocation l) {
+ if (! l.getKeystoneUrl().startsWith("http")) {
+ logger.warn("openstackPolling ignored no valid keystone url: " + l.getName() + " " + l.getKeystoneUrl());
+ return;
+ }
+ logger.info("openstackPolling: " + l.getName());
+ OpenStackUtil util = getUtil(l.getName());
+ lastPoll.put(l.getName(), new Date());
+ OpenStackLocation poll = util.poll();
+ poll.setName(l.getName());
+ poll.setRemoteLocationName(l.getName());
+ logger.info("polling done: " + poll);
+ if (poll != null) {
+ try {
+ uploadOpenstackConfiguration(null, poll);
+ } catch (ManagementServerError e) {
+ logger.warn("uploadOpenstackConfiguration: " + e.getJson().toString(2));
+ }
+ }
+
+ }
+
+ public static void ecoreSetup() {
+ ServerPackage.eINSTANCE.getClass();
+ }
+
+ public void uploadOpenstackConfiguration(JSONObject cx, OpenStackLocation loc) {
+ if (parent != null) {
+ parent.uploadOpenstackConfiguration(cx, loc);
+ }
+ }
+
+ public void start() {
+ for (OpenStackLocation l : o.getLocations()) {
+ if (!l.isRemoteLocation()) {
+ startOpenstackPolling(l);
+ }
+ }
+ }
+
+ public synchronized OpenStackUtil getUtil(String name) {
+ OpenStackUtil util = utils.get(name);
+ if (util == null) {
+ for (OpenStackLocation l : o.getLocations()) {
+ if (l.isRemoteLocation()) {
+ break;
+ }
+ if (!l.getName().equals(name))
+ continue;
+ util = new OpenStackUtil(l, controller.getServer(), controller.getServer().getProps()
+ .getProperty("openstack.propertyfile", "openstack.properties"));
+ utils.put(name, util);
+ pollingFrequency = util.pollingFrequency;
+ return (util);
+ }
+ }
+ return (util);
+ }
+
+}
diff --git a/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProvider.java b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProvider.java
new file mode 100644
index 0000000..3652555
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/java/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProvider.java
@@ -0,0 +1,291 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.ncomp.servers.openstack.loc;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.OpenStackController;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerSample;
+import org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest;
+import org.openecomp.ncomp.openstack.ceilometer.SampleRequest;
+import org.openecomp.ncomp.openstack.compute.ComputeFactory;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction;
+import org.openecomp.ncomp.openstack.controller.tools.OpenStackUtil;
+import org.openecomp.ncomp.openstack.controller.tools.OpenStackUtil.OpenStackControllerProject;
+import org.openecomp.ncomp.openstack.core.CoreFactory;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import org.openecomp.ncomp.openstack.neutron.CreateRouterRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest;
+import org.openecomp.ncomp.openstack.neutron.CreatePortRequest;
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronObject;
+import org.openecomp.ncomp.openstack.neutron.NeutronRequest;
+import org.openecomp.ncomp.openstack.neutron.Router;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+import org.openecomp.ncomp.openstack.neutron.Port;
+import org.openecomp.ncomp.servers.openstack.OsOpenStackController;
+import org.openecomp.ncomp.servers.openstack.OsOpenStackControllerProvider;
+import org.openecomp.ncomp.sirius.manager.BasicAdaptorProvider;
+import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.manager.Subject;
+import org.openecomp.ncomp.sirius.manager.server.Response;
+import org.openecomp.ncomp.sirius.manager.server.ServerPackage;
+
+public class OsOpenStackLocationProvider extends BasicAdaptorProvider implements ISiriusPlugin {
+ public static final Logger logger = Logger.getLogger(OsOpenStackLocationProvider.class);
+ OpenStackUtil util;
+ private OpenStackLocation o;
+
+ public OsOpenStackLocationProvider(ISiriusServer controller, OpenStackLocation o) {
+ super(controller, o);
+ this.o = o;
+ }
+
+ public Network createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest request) {
+ return (Network) handleNeutronRequest(request);
+ }
+
+ public void createServer(OpenstackRequestNewServer request) {
+ initUtil();
+ util.createServer(request);
+ }
+
+ public Subnet createSubnet(CreateSubnetRequest request) {
+ initUtil();
+ return (Subnet) handleNeutronRequest(request);
+ }
+
+ public Port createPort(CreatePortRequest request) {
+ initUtil();
+ return (Port) handleNeutronRequest(request);
+ }
+
+ public void poll() {
+ initUtil();
+ // TODO implement poll
+ // o.poll();
+ }
+
+ @Override
+ public void start() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private void initUtil() {
+ if (util == null) {
+ OsOpenStackController c = (OsOpenStackController) o.eContainer();
+ util = c.controller.getUtil(o.getName());
+ }
+ if (util == null) {
+ throw new RuntimeException("Unable to create Openstack Util");
+ }
+ }
+
+ private NeutronObject handleNeutronRequest(NeutronRequest request) {
+ initUtil();
+ OpenStackControllerProject p = util.findProject(request.getProjectName());
+ if (p == null) {
+ throw new RuntimeException("unable to find project: " + request.getProjectName());
+ }
+ return p.create(request);
+ }
+
+ public void deleteNetwork(String projectName, String name) {
+ initUtil();
+ OpenStackControllerProject p = util.findProject(projectName);
+ if (p == null) {
+ logger.warn("unable to find project: " + projectName + " " + name);
+ return;
+ }
+ p.deleteNeutron("network", name);
+ }
+
+ public void deleteSubnet(String projectName, String name) {
+ initUtil();
+ OpenStackControllerProject p = util.findProject(projectName);
+ if (p == null) {
+ logger.warn("unable to find project: " + projectName);
+ return;
+ }
+ p.deleteNeutron("subnet", name);
+ }
+
+ public void deleteServer(String projectName, String name) {
+ initUtil();
+ util.delete(projectName, "server", name);
+ }
+
+ public void associateFloatingIp(String projectName, String ipId, String portId) {
+ initUtil();
+ OpenStackControllerProject p = util.findProject(projectName);
+ if (p == null) {
+ logger.warn("unable to find project: " + projectName);
+ return;
+ }
+ p.associateFloatingIp(ipId, portId);
+ }
+
+ public CeilometerAlarm createAlarm(CreateAlarmRequest request) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void deleteAlarm(String projectName, String name) {
+ throw new UnsupportedOperationException();
+ }
+
+ public EList<CeilometerSample> createAlarm(SampleRequest request) {
+ throw new UnsupportedOperationException();
+ }
+
+ public static void ecoreSetup() {
+ ServerPackage.eINSTANCE.getClass();
+ }
+
+ public void createKeyPair(OpenstackRequestKeyPair request) {
+ initUtil();
+ util.createKeypair(request.getProjectName(), request.getUser());
+ }
+
+ public void delete(OpenstackRequestDelete request) {
+ initUtil();
+ util.delete(request.getProjectName(), request.getObjectType(), request.getObjectName());
+ }
+
+ public void createFlavor(OpenstackRequestFlavor request) {
+ initUtil();
+ util.createFlavor(request.getProjectName(), request.getVmType());
+ }
+
+ public void createSecurityGroup(OpenstackRequestSecurityGroup request) {
+ initUtil();
+ util.createSecurityGroup(request.getProjectName(), request.getVmType());
+ }
+
+ public void serverAction(OpenstackRequestServerAction request) {
+ initUtil();
+ util.serverAction(request);
+ }
+
+ public void deployVmType(String vmTypeName, String projectName) {
+ OpenstackRequestSecurityGroup req2 = ComputeFactory.eINSTANCE.createOpenstackRequestSecurityGroup();
+ req2.setProjectName(projectName);
+ req2.setVmType(EcoreUtil.copy(findVmType(vmTypeName)));
+ o.createSecurityGroup(req2);
+ if (o.isAllowCreateFlavor()) {
+ OpenstackRequestFlavor req = ComputeFactory.eINSTANCE.createOpenstackRequestFlavor();
+ req.setProjectName(projectName);
+ req.setVmType(EcoreUtil.copy(findVmType(vmTypeName)));
+ o.createFlavor(req);
+ }
+ }
+
+ private VirtualMachineType findVmType(String name) {
+ OpenStackController c = (OpenStackController) o.eContainer();
+ for (VirtualMachineType v : c.getVmTypes()) {
+ if (v.getName().equals(name)) return v;
+ }
+ throw new RuntimeException("Not VmType with name: " + name);
+ }
+
+ public void undeployVmType(String vmTypeName, String projectName) {
+ OpenstackRequestDelete req1 = CoreFactory.eINSTANCE.createOpenstackRequestDelete();
+ req1.setProjectName(projectName);
+ req1.setObjectType("flavor");
+ req1.setObjectName(vmTypeName);
+ o.delete(req1);
+ req1.setObjectType("security_group");
+ o.delete(req1);
+ }
+
+ public void deployUser(User user, String projectName) {
+ OpenstackRequestKeyPair req = ComputeFactory.eINSTANCE.createOpenstackRequestKeyPair();
+ if (user == null)
+ throw new RuntimeException("Null user");
+ req.setProjectName(projectName);
+ req.setUser(EcoreUtil.copy(user));
+ o.createKeyPair(req);
+ }
+
+ public void undeployUser(User user, String projectName) {
+ OpenstackRequestDelete req1 = CoreFactory.eINSTANCE.createOpenstackRequestDelete();
+ if (user == null)
+ throw new RuntimeException("Null user");
+ req1.setProjectName(projectName);
+ req1.setObjectType("keypair");
+ req1.setObjectName(user.getName());
+ o.delete(req1);
+ }
+
+ @SuppressWarnings("unused")
+ private User findUser(String userPath) {
+ Subject s = controller.getServer().find(userPath);
+ if (s == null || s.o == null || ! (s instanceof User))
+ throw new RuntimeException("Unable to find user: " + userPath);
+ return (User) s.o;
+ }
+
+ public void mergeLocation(OpenStackLocation loc) {
+ ManagementServer.merge(o, loc, null, true, null);
+ }
+
+ public void deletePort(String projectName, String name) {
+ initUtil();
+ OpenStackControllerProject p = util.findProject(projectName);
+ if (p == null) {
+ logger.warn("unable to find project: " + projectName + " " + name);
+ return;
+ }
+ p.deleteNeutron("port", name);
+
+ }
+
+ public Router createRouter(CreateRouterRequest request) {
+ initUtil();
+ return (Router) handleNeutronRequest(request);
+ }
+
+ public void deleteRouter(String projectName, String name) {
+ initUtil();
+ OpenStackControllerProject p = util.findProject(projectName);
+ if (p == null) {
+ logger.warn("unable to find project: " + projectName + " " + name);
+ return;
+ }
+ p.deleteNeutron("router", name);
+
+
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/resources/OpenStackAdaptor.yaml b/ncomp-openstack-controller/src/main/resources/OpenStackAdaptor.yaml
new file mode 100644
index 0000000..2e671a2
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/resources/OpenStackAdaptor.yaml
@@ -0,0 +1,12 @@
+operations:
+ POLLING:
+ description: Openstack polling.
+messages:
+ POLLING_FAILED:
+ errorCode: NCOMP-OPENSTACK-POLLING-FAILED-5001W
+ messageFormat: '{0}'
+ parameters:
+ service-name:
+ description: Resource path of Openstack Location.
+ resolution: Verify Openstack setup.
+ description: Openstack Polling fails.
diff --git a/ncomp-openstack-controller/src/main/server-gen/bin/openstack-controller-controller b/ncomp-openstack-controller/src/main/server-gen/bin/openstack-controller-controller
new file mode 100644
index 0000000..0c67d4c
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/server-gen/bin/openstack-controller-controller
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# setup env if needed. java 6 required
+## JAVA_HOME=
+
+############################## DO NOT EDIT BELOW ##########################
+
+SNAME="Os Controller"
+PNAME=openstack-controller-controller
+CLASS=org.openecomp.ncomp.servers.openstack.OsOpenStackControllerServer
+
+############################## COMMON BELOW ##########################
+
+check_status ()
+{
+ if [ -f "${_PIDFILE}" ]; then
+ _PID=`cat "${_PIDFILE}"`
+ check_status_of_pid $_PID
+ else
+ _STATUS="$SNAME (no pidfile) is NOT running"
+ _RUNNING=0
+ fi
+}
+
+
+check_status_of_pid ()
+{
+ if [ -n "$1" ] && kill -0 $1 2>/dev/null ; then
+ _STATUS="$SNAME (pid $1) is running"
+ _RUNNING=1
+ else
+ _STATUS="$SNAME (pid $1) is NOT running"
+ _RUNNING=0
+ fi
+}
+
+
+check_status_of_pid ()
+{
+ if [ -n "$1" ] && kill -0 $1 2>/dev/null ; then
+ _STATUS="$SNAME (pid $1) is running"
+ _RUNNING=1
+ else
+ _STATUS="$SNAME (pid $1) is NOT running"
+ _RUNNING=0
+ fi
+}
+
+remove_pid_file ()
+{
+ if [ -f "${_PIDFILE}" ]; then
+ rm "${_PIDFILE}"
+ fi
+}
+
+
+_DIR=`dirname "$0"`
+_DIR=`dirname "$_DIR"`
+
+_PIDFILE=$_DIR/PID
+
+CMD=$1
+shift
+
+check_status
+
+CP=$(find $_DIR/lib/*/* -name \*.jar 2>/dev/null | xargs -I X printf ":%s" X)
+
+JVMARGS=$(grep 'server.jvmargs' $_DIR/config/openstack.properties | sed -e 's/.*=//')
+
+case $CMD in
+ status)
+ echo $_STATUS
+ exit 0
+ ;;
+ console)
+ $GROOVY_HOME/bin/groovysh -cp $_DIR/config:$_DIR/lib:$_DIR/lib/\*:$CP
+ ;;
+ run)
+ $JAVA_HOME/bin/java -cp $_DIR/config:$_DIR/lib:$_DIR/lib/\*:$CP "$@"
+ ;;
+ groovy)
+ $GROOVY_HOME/bin/groovy -cp $_DIR/config:$_DIR/lib:$_DIR/lib/\*:$CP "$@"
+ ;;
+ start)
+ if [ "$_RUNNING" = "1" ]; then
+ echo $_STATUS
+ exit 0
+ fi
+ mkdir -p $_DIR/logs
+ if [ -e $_DIR/logs/$PNAME.out.1 ]; then mv $_DIR/logs/$PNAME.out.1 $_DIR/logs/$PNAME.out.2; fi
+ if [ -e $_DIR/logs/$PNAME.err.1 ]; then mv $_DIR/logs/$PNAME.err.1 $_DIR/logs/$PNAME.err.2; fi
+ if [ -e $_DIR/logs/$PNAME.out ]; then mv $_DIR/logs/$PNAME.out $_DIR/logs/$PNAME.out.1; fi
+ if [ -e $_DIR/logs/$PNAME.err ]; then mv $_DIR/logs/$PNAME.err $_DIR/logs/$PNAME.err.1; fi
+
+ nohup $JAVA_HOME/bin/java $JVMARGS -cp $_DIR/config:$_DIR/lib:$_DIR/lib/\*:$CP "$@" $CLASS >> $_DIR/logs/$PNAME.out 2>> $_DIR/logs/$PNAME.err &
+
+ _PID=$!
+ echo $_PID > $_PIDFILE
+ sleep 5
+ check_status
+ echo $_STATUS
+ if [ "$_RUNNING" = "1" ]; then
+ exit 0
+ else
+ echo "Failed to start - make sure the $SNAME is fully configured properly"
+ exit 1
+ fi
+ ;;
+ stop)
+ if [ "$_RUNNING" = "0" ]; then
+ echo $_STATUS
+ remove_pid_file
+ exit 0
+ fi
+ echo "Stopping $SNAME..."
+ _PID_TO_KILL=$_PID;
+ echo "$SNAME (pid=${_PID_TO_KILL}) is stopping..."
+ kill -TERM $_PID_TO_KILL
+ sleep 5
+ check_status_of_pid $_PID_TO_KILL
+ if [ "$_RUNNING" = "1" ]; then
+ kill -TERM $_PID_TO_KILL
+ fi
+ while [ "$_RUNNING" = "1" ]; do
+ sleep 2
+ check_status_of_pid $_PID_TO_KILL
+ done
+ remove_pid_file
+ echo "$SNAME has stopped."
+ exit 0
+ ;;
+ *)
+ echo "$0 start|stop"
+ ;;
+esac
+
+
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/OpenStackController.yaml b/ncomp-openstack-controller/src/main/sirius-gen/OpenStackController.yaml
new file mode 100644
index 0000000..fb697a4
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/OpenStackController.yaml
@@ -0,0 +1,14 @@
+operations:
+ uploadOpenstackConfiguration: {}
+ REMOTE_uploadOpenstackConfiguration:
+ decription: Remote call uploadOpenstackConfiguration
+messages:
+ dummy: {}
+ uploadOpenstackConfiguration:
+ errorCode: uploadOpenstackConfiguration-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ REMOTE_uploadOpenstackConfiguration:
+ errorCode: REMOTE-uploadOpenstackConfiguration-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/OpenStackLocation.yaml b/ncomp-openstack-controller/src/main/sirius-gen/OpenStackLocation.yaml
new file mode 100644
index 0000000..3296bdc
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/OpenStackLocation.yaml
@@ -0,0 +1,267 @@
+operations:
+ createNetwork: {}
+ createSubnet: {}
+ createPort: {}
+ createRouter: {}
+ deleteNetwork: {}
+ deleteSubnet: {}
+ deletePort: {}
+ deleteRouter: {}
+ associateFloatingIp: {}
+ createServer: {}
+ deleteServer: {}
+ createKeyPair: {}
+ delete: {}
+ createFlavor: {}
+ createSecurityGroup: {}
+ serverAction: {}
+ deployVmType: {}
+ undeployVmType: {}
+ deployUser: {}
+ undeployUser: {}
+ createAlarm: {}
+ deleteAlarm: {}
+ poll: {}
+ mergeLocation: {}
+ REMOTE_createNetwork:
+ decription: Remote call createNetwork
+ REMOTE_createSubnet:
+ decription: Remote call createSubnet
+ REMOTE_createPort:
+ decription: Remote call createPort
+ REMOTE_createRouter:
+ decription: Remote call createRouter
+ REMOTE_deleteNetwork:
+ decription: Remote call deleteNetwork
+ REMOTE_deleteSubnet:
+ decription: Remote call deleteSubnet
+ REMOTE_deletePort:
+ decription: Remote call deletePort
+ REMOTE_deleteRouter:
+ decription: Remote call deleteRouter
+ REMOTE_associateFloatingIp:
+ decription: Remote call associateFloatingIp
+ REMOTE_createServer:
+ decription: Remote call createServer
+ REMOTE_deleteServer:
+ decription: Remote call deleteServer
+ REMOTE_createKeyPair:
+ decription: Remote call createKeyPair
+ REMOTE_delete:
+ decription: Remote call delete
+ REMOTE_createFlavor:
+ decription: Remote call createFlavor
+ REMOTE_createSecurityGroup:
+ decription: Remote call createSecurityGroup
+ REMOTE_serverAction:
+ decription: Remote call serverAction
+ REMOTE_deployVmType:
+ decription: Remote call deployVmType
+ REMOTE_undeployVmType:
+ decription: Remote call undeployVmType
+ REMOTE_deployUser:
+ decription: Remote call deployUser
+ REMOTE_undeployUser:
+ decription: Remote call undeployUser
+ REMOTE_createAlarm:
+ decription: Remote call createAlarm
+ REMOTE_deleteAlarm:
+ decription: Remote call deleteAlarm
+ REMOTE_poll:
+ decription: Remote call poll
+ REMOTE_mergeLocation:
+ decription: Remote call mergeLocation
+messages:
+ dummy: {}
+ createNetwork:
+ errorCode: createNetwork-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createSubnet:
+ errorCode: createSubnet-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createPort:
+ errorCode: createPort-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createRouter:
+ errorCode: createRouter-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deleteNetwork:
+ errorCode: deleteNetwork-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deleteSubnet:
+ errorCode: deleteSubnet-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deletePort:
+ errorCode: deletePort-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deleteRouter:
+ errorCode: deleteRouter-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ associateFloatingIp:
+ errorCode: associateFloatingIp-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createServer:
+ errorCode: createServer-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deleteServer:
+ errorCode: deleteServer-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createKeyPair:
+ errorCode: createKeyPair-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ delete:
+ errorCode: delete-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createFlavor:
+ errorCode: createFlavor-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createSecurityGroup:
+ errorCode: createSecurityGroup-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ serverAction:
+ errorCode: serverAction-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deployVmType:
+ errorCode: deployVmType-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ undeployVmType:
+ errorCode: undeployVmType-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deployUser:
+ errorCode: deployUser-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ undeployUser:
+ errorCode: undeployUser-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ createAlarm:
+ errorCode: createAlarm-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ deleteAlarm:
+ errorCode: deleteAlarm-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ poll:
+ errorCode: poll-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ mergeLocation:
+ errorCode: mergeLocation-FAILED-5001W
+ messageFormat: '{0}'
+ description: Operation Failed with Exception
+ REMOTE_createNetwork:
+ errorCode: REMOTE-createNetwork-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createSubnet:
+ errorCode: REMOTE-createSubnet-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createPort:
+ errorCode: REMOTE-createPort-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createRouter:
+ errorCode: REMOTE-createRouter-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deleteNetwork:
+ errorCode: REMOTE-deleteNetwork-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deleteSubnet:
+ errorCode: REMOTE-deleteSubnet-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deletePort:
+ errorCode: REMOTE-deletePort-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deleteRouter:
+ errorCode: REMOTE-deleteRouter-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_associateFloatingIp:
+ errorCode: REMOTE-associateFloatingIp-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createServer:
+ errorCode: REMOTE-createServer-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deleteServer:
+ errorCode: REMOTE-deleteServer-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createKeyPair:
+ errorCode: REMOTE-createKeyPair-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_delete:
+ errorCode: REMOTE-delete-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createFlavor:
+ errorCode: REMOTE-createFlavor-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createSecurityGroup:
+ errorCode: REMOTE-createSecurityGroup-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_serverAction:
+ errorCode: REMOTE-serverAction-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deployVmType:
+ errorCode: REMOTE-deployVmType-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_undeployVmType:
+ errorCode: REMOTE-undeployVmType-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deployUser:
+ errorCode: REMOTE-deployUser-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_undeployUser:
+ errorCode: REMOTE-undeployUser-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_createAlarm:
+ errorCode: REMOTE-createAlarm-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_deleteAlarm:
+ errorCode: REMOTE-deleteAlarm-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_poll:
+ errorCode: REMOTE-poll-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
+ REMOTE_mergeLocation:
+ errorCode: REMOTE-mergeLocation-FAILED-5001W
+ messageFormat: '{0}'
+ description: Remote Operation Failed with Exception
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackController.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackController.java
new file mode 100644
index 0000000..f6db33f
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackController.java
@@ -0,0 +1,111 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit. No need to extend this class.
+package org.openecomp.ncomp.servers.openstack;
+
+
+
+
+import java.io.InputStream;
+
+import org.openecomp.ncomp.sirius.manager.IRequestHandler;
+import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.function.FunctionUtils;
+import org.openecomp.ncomp.component.ApiRequestStatus;
+
+import org.apache.log4j.Logger;
+
+import org.openecomp.logger.EcompLogger;
+
+import org.eclipse.emf.common.util.EList;
+import org.json.JSONObject;
+
+import java.util.Date;
+
+import org.openecomp.ncomp.servers.openstack.logging.OpenStackControllerOperationEnum;
+import org.openecomp.ncomp.servers.openstack.logging.OpenStackControllerMessageEnum;
+
+
+
+
+import org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl;
+
+
+
+public class OsOpenStackController extends OpenStackControllerImpl implements ISiriusPlugin {
+ public static final Logger logger = Logger.getLogger(OsOpenStackController.class);
+ static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
+ public OsOpenStackControllerProvider controller;
+ ISiriusServer server;
+
+ public OsOpenStackController(ISiriusServer server) {
+ this.server = server;
+ this.controller = new OsOpenStackControllerProvider(server,this);
+ }
+
+ public void uploadOpenstackConfiguration(org.json.JSONObject cx, org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "uploadOpenstackConfiguration", ApiRequestStatus.START, duration_,cx,loc);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackControllerOperationEnum.uploadOpenstackConfiguration);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.uploadOpenstackConfiguration(cx,loc);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "uploadOpenstackConfiguration", ApiRequestStatus.ERROR, duration_,cx,loc);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackControllerMessageEnum.uploadOpenstackConfiguration, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "uploadOpenstackConfiguration", ApiRequestStatus.OKAY, duration_,cx,loc);
+
+ }
+
+
+
+
+
+
+ @Override
+ public void start() {
+ controller.start();
+ }
+
+ public static void ecoreSetup() {
+ OsOpenStackControllerProvider.ecoreSetup();
+ }
+ public OsOpenStackControllerProvider getSomfProvider() {
+ return controller;
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerClient.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerClient.java
new file mode 100644
index 0000000..855faf9
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerClient.java
@@ -0,0 +1,89 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit. No need to extend this class.
+package org.openecomp.ncomp.servers.openstack;
+
+import org.openecomp.ncomp.sirius.manager.AbstractClient;
+import org.openecomp.ncomp.sirius.manager.HighAvailabilityClient;
+import org.openecomp.ncomp.sirius.manager.GenericHttpClient;
+
+import org.apache.log4j.Logger;
+
+import org.openecomp.logger.EcompLogger;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl;
+import org.openecomp.ncomp.openstack.OpenstackPackage;
+import org.openecomp.ncomp.servers.openstack.logging.OpenStackControllerOperationEnum;
+import org.openecomp.ncomp.servers.openstack.logging.OpenStackControllerMessageEnum;
+
+
+
+
+
+
+@SuppressWarnings("unchecked")
+public class OsOpenStackControllerClient extends OpenStackControllerImpl {
+ public static final Logger logger = Logger.getLogger(OsOpenStackControllerClient.class);
+ static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
+ public AbstractClient client;
+
+ public OsOpenStackControllerClient(String file, String name) {
+ OsOpenStackController.ecoreSetup();
+ client = new GenericHttpClient(file,name);
+ client.add("/resources", this);
+ }
+
+ public OsOpenStackControllerClient(String file, String name1, String name2) {
+ HighAvailabilityClient client1 = new HighAvailabilityClient(file,name1,name2);
+ client = client1.all; // requests should be forwarded to all.
+ client.add("/resources", this);
+ }
+
+ public OsOpenStackControllerClient(AbstractClient c) {
+ client = c;
+ client.add("/resources", this);
+ }
+
+
+
+ @Override
+ public void uploadOpenstackConfiguration(org.json.JSONObject cx, org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+ EClass c = OpenstackPackage.eINSTANCE.getOpenStackController(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackControllerOperationEnum.REMOTE_uploadOpenstackConfiguration);
+
+ try {
+ client.operationPath("/resources", c, "uploadOpenstackConfiguration", cx != null && cx.has("timeout") ? cx.getLong("timeout") : null, cx,loc);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackControllerMessageEnum.REMOTE_uploadOpenstackConfiguration, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@uploadOpenstackConfiguration: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerConsole.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerConsole.java
new file mode 100644
index 0000000..111d317
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerConsole.java
@@ -0,0 +1,72 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit but extend this class as needed
+package org.openecomp.ncomp.servers.openstack;
+
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+
+import org.openecomp.ncomp.sirius.manager.console.Console;
+import org.openecomp.ncomp.sirius.manager.AbstractClient;
+import org.openecomp.ncomp.sirius.manager.ManagementServerError;
+
+
+
+import org.openecomp.ncomp.servers.openstack.loc.OsOpenStackLocationConsole;
+
+
+public class OsOpenStackControllerConsole extends Console {
+ public static final Logger logger = Logger.getLogger(OsOpenStackControllerConsole.class);
+ protected OsOpenStackControllerClient controller;
+
+
+ OsOpenStackLocationConsole loc;
+
+
+ public OsOpenStackControllerConsole(String filename, String name) {
+ super(filename, name);
+ controller = new OsOpenStackControllerClient(filename,name);
+ client = controller.client;
+
+ loc = new OsOpenStackLocationConsole(filename,name);
+ }
+
+ public OsOpenStackControllerConsole(AbstractClient c) {
+ controller = new OsOpenStackControllerClient(c);
+ client = controller.client;
+ }
+
+
+ public void uploadOpenstackConfiguration(org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+
+ try {
+ controller.uploadOpenstackConfiguration(null,loc);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProviderTemplate.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProviderTemplate.java
new file mode 100644
index 0000000..0bd01d2
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerProviderTemplate.java
@@ -0,0 +1,71 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack;
+
+
+
+
+
+import java.io.InputStream;
+
+import org.openecomp.ncomp.sirius.manager.IRequestHandler;
+import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.function.FunctionUtils;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+import org.json.JSONObject;
+
+
+
+import org.openecomp.ncomp.sirius.manager.BasicAdaptorProvider;
+
+
+import org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl;
+import org.openecomp.ncomp.openstack.OpenStackController;
+
+
+public class OsOpenStackControllerProviderTemplate extends BasicAdaptorProvider {
+ private static final Logger logger = Logger.getLogger(OsOpenStackControllerProviderTemplate.class);
+ OpenStackController o;
+
+ public OsOpenStackControllerProviderTemplate(ISiriusServer controller, OpenStackController o) {
+ super(controller, o);
+ this.o = o;
+ }
+
+ public void uploadOpenstackConfiguration(org.json.JSONObject cx, org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+
+
+
+
+
+
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerServer.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerServer.java
new file mode 100644
index 0000000..4249dc3
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenStackControllerServer.java
@@ -0,0 +1,109 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit but extend this class as needed
+package org.openecomp.ncomp.servers.openstack;
+
+import static org.openecomp.ncomp.utils.PropertyUtil.getPropertiesFromClasspath;
+
+import java.io.IOException;
+import java.util.Properties;
+import java.util.TimeZone;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.ecore.EFactory;
+
+import org.openecomp.entity.EcompComponent;
+import org.openecomp.entity.EcompSubComponent;
+import org.openecomp.entity.EcompSubComponentInstance;
+import org.openecomp.ncomp.sirius.manager.Jetty8Server;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+
+import org.openecomp.ncomp.openstack.OpenStackController;
+
+
+import org.openecomp.ncomp.servers.openstack.loc.OsLocationFactory;
+
+
+
+
+
+public class OsOpenStackControllerServer implements ISiriusServer {
+ public static final Logger logger = Logger.getLogger(OsOpenStackControllerServer.class);
+ String serverPath;
+ ManagementServer server;
+ OsOpenStackController controller;
+ String directory = "data";
+// LocationControllerApi api ;
+ Jetty8Server webServer;
+ OsOpenstackFactory f = new OsOpenstackFactory(this);
+
+
+ String locPath;
+ ManagementServer locServer;
+
+
+ public OsOpenStackControllerServer(String filename) throws IOException {
+ logger.warn("controller restarting");
+ OsOpenStackController.ecoreSetup();
+ props = getPropertiesFromClasspath(filename);
+ serverPath = (String) props.get("server.dir");
+ server = new ManagementServer(f, "OpenStackController", serverPath, filename);
+ server.addFactory(f);
+
+ server.addRuntimeFactories(this);
+ server.start();
+ }
+ public void runWebserver() throws IOException {
+ controller = (OsOpenStackController) server.find("/").o;
+ webServer = new Jetty8Server("openstack.properties");
+ webServer.add("/resources",server);
+
+
+
+ EFactory locFactory = new OsLocationFactory(this);
+ locPath = serverPath + "/loc";
+ locServer = new ManagementServer(locFactory, "OpenStackLocation", locPath, "loc.properties");
+ locServer.start();
+ webServer.add("/loc",locServer);
+
+
+
+ logger.info("Joining webserver");
+ webServer.join();
+ }
+ static Properties props = null;
+ public static void main(String []args) throws IOException {
+ // ALWAYS USE GMT.
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+
+ OsOpenStackControllerServer s = new OsOpenStackControllerServer("openstack.properties");
+ s.runWebserver();
+ }
+ public OpenStackController getController() {
+ return controller;
+ }
+ public ManagementServer getServer() {
+ return server;
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenstackFactory.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenstackFactory.java
new file mode 100644
index 0000000..bf5563e
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/OsOpenstackFactory.java
@@ -0,0 +1,54 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit. No need to extend this class.
+package org.openecomp.ncomp.servers.openstack;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.apache.log4j.Logger;
+
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+
+import org.openecomp.ncomp.openstack.OpenStackController;
+import org.openecomp.ncomp.openstack.OpenstackPackage;
+import org.openecomp.ncomp.openstack.impl.OpenstackFactoryImpl;
+
+
+
+
+
+public class OsOpenstackFactory extends OpenstackFactoryImpl {
+ public static final Logger logger = Logger.getLogger(OsOpenstackFactory.class);
+ ISiriusServer server = null;
+ @Override
+ public EPackage getEPackage() { return OpenstackPackage.eINSTANCE; }
+ public OsOpenstackFactory(ISiriusServer server) {
+ this.server = server;
+ }
+ @Override
+ public OpenStackController createOpenStackController() {
+ return new OsOpenStackController(server);
+ }
+
+
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsLocationFactory.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsLocationFactory.java
new file mode 100644
index 0000000..62e0e4b
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsLocationFactory.java
@@ -0,0 +1,54 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit. No need to extend this class.
+package org.openecomp.ncomp.servers.openstack.loc;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.apache.log4j.Logger;
+
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.openecomp.ncomp.openstack.location.impl.LocationFactoryImpl;
+
+import org.openecomp.ncomp.servers.openstack.OsOpenStackControllerServer;
+
+
+
+public class OsLocationFactory extends LocationFactoryImpl {
+ public static final Logger logger = Logger.getLogger(OsLocationFactory.class);
+ ISiriusServer server = null;
+ @Override
+ public EPackage getEPackage() { return LocationPackage.eINSTANCE; }
+ public OsLocationFactory(ISiriusServer server) {
+ this.server = server;
+ }
+ @Override
+ public OpenStackLocation createOpenStackLocation() {
+ return new OsOpenStackLocation(server);
+ }
+
+
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocation.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocation.java
new file mode 100644
index 0000000..120135c
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocation.java
@@ -0,0 +1,754 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit. No need to extend this class.
+package org.openecomp.ncomp.servers.openstack.loc;
+
+
+
+
+import java.io.InputStream;
+
+import org.openecomp.ncomp.sirius.manager.IRequestHandler;
+import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.function.FunctionUtils;
+import org.openecomp.ncomp.component.ApiRequestStatus;
+
+import org.apache.log4j.Logger;
+
+import org.openecomp.logger.EcompLogger;
+
+import org.eclipse.emf.common.util.EList;
+import org.json.JSONObject;
+
+import java.util.Date;
+
+import org.openecomp.ncomp.servers.openstack.loc.logging.OpenStackLocationOperationEnum;
+import org.openecomp.ncomp.servers.openstack.loc.logging.OpenStackLocationMessageEnum;
+
+
+
+
+import org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl;
+
+
+
+public class OsOpenStackLocation extends OpenStackLocationImpl {
+ public static final Logger logger = Logger.getLogger(OsOpenStackLocation.class);
+ static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
+ public OsOpenStackLocationProvider controller;
+ ISiriusServer server;
+
+ public OsOpenStackLocation(ISiriusServer server) {
+ this.server = server;
+ this.controller = new OsOpenStackLocationProvider(server,this);
+ }
+
+ public void poll() {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "poll", ApiRequestStatus.START, duration_);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.poll);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.poll();
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "poll", ApiRequestStatus.ERROR, duration_);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.poll, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "poll", ApiRequestStatus.OKAY, duration_);
+
+ }
+
+ public void mergeLocation(org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "mergeLocation", ApiRequestStatus.START, duration_,loc);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.mergeLocation);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.mergeLocation(loc);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "mergeLocation", ApiRequestStatus.ERROR, duration_,loc);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.mergeLocation, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "mergeLocation", ApiRequestStatus.OKAY, duration_,loc);
+
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Network createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Network res = null;
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createNetwork", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createNetwork);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ res = controller.createNetwork(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createNetwork", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createNetwork, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createNetwork", ApiRequestStatus.OKAY, duration_,request);
+ return res;
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Subnet createSubnet(org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Subnet res = null;
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createSubnet", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createSubnet);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ res = controller.createSubnet(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createSubnet", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createSubnet, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createSubnet", ApiRequestStatus.OKAY, duration_,request);
+ return res;
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Port createPort(org.openecomp.ncomp.openstack.neutron.CreatePortRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Port res = null;
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createPort", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createPort);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ res = controller.createPort(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createPort", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createPort, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createPort", ApiRequestStatus.OKAY, duration_,request);
+ return res;
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Router createRouter(org.openecomp.ncomp.openstack.neutron.CreateRouterRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Router res = null;
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createRouter", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createRouter);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ res = controller.createRouter(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createRouter", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createRouter, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createRouter", ApiRequestStatus.OKAY, duration_,request);
+ return res;
+ }
+
+ public void deleteNetwork(java.lang.String projectName, java.lang.String name) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteNetwork", ApiRequestStatus.START, duration_,projectName,name);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deleteNetwork);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deleteNetwork(projectName,name);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteNetwork", ApiRequestStatus.ERROR, duration_,projectName,name);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deleteNetwork, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteNetwork", ApiRequestStatus.OKAY, duration_,projectName,name);
+
+ }
+
+ public void deleteSubnet(java.lang.String projectName, java.lang.String name) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteSubnet", ApiRequestStatus.START, duration_,projectName,name);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deleteSubnet);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deleteSubnet(projectName,name);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteSubnet", ApiRequestStatus.ERROR, duration_,projectName,name);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deleteSubnet, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteSubnet", ApiRequestStatus.OKAY, duration_,projectName,name);
+
+ }
+
+ public void deletePort(java.lang.String projectName, java.lang.String name) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deletePort", ApiRequestStatus.START, duration_,projectName,name);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deletePort);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deletePort(projectName,name);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deletePort", ApiRequestStatus.ERROR, duration_,projectName,name);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deletePort, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deletePort", ApiRequestStatus.OKAY, duration_,projectName,name);
+
+ }
+
+ public void deleteRouter(java.lang.String projectName, java.lang.String name) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteRouter", ApiRequestStatus.START, duration_,projectName,name);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deleteRouter);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deleteRouter(projectName,name);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteRouter", ApiRequestStatus.ERROR, duration_,projectName,name);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deleteRouter, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteRouter", ApiRequestStatus.OKAY, duration_,projectName,name);
+
+ }
+
+ public void associateFloatingIp(java.lang.String projectName, java.lang.String ipId, java.lang.String portId) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "associateFloatingIp", ApiRequestStatus.START, duration_,projectName,ipId,portId);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.associateFloatingIp);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.associateFloatingIp(projectName,ipId,portId);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "associateFloatingIp", ApiRequestStatus.ERROR, duration_,projectName,ipId,portId);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.associateFloatingIp, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "associateFloatingIp", ApiRequestStatus.OKAY, duration_,projectName,ipId,portId);
+
+ }
+
+ public void createServer(org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer request) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createServer", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createServer);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.createServer(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createServer", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createServer, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createServer", ApiRequestStatus.OKAY, duration_,request);
+
+ }
+
+ public void deleteServer(java.lang.String projectName, java.lang.String name) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteServer", ApiRequestStatus.START, duration_,projectName,name);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deleteServer);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deleteServer(projectName,name);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteServer", ApiRequestStatus.ERROR, duration_,projectName,name);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deleteServer, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteServer", ApiRequestStatus.OKAY, duration_,projectName,name);
+
+ }
+
+ public void createKeyPair(org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair request) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createKeyPair", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createKeyPair);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.createKeyPair(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createKeyPair", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createKeyPair, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createKeyPair", ApiRequestStatus.OKAY, duration_,request);
+
+ }
+
+ public void delete(org.openecomp.ncomp.openstack.core.OpenstackRequestDelete request) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "delete", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.delete);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.delete(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "delete", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.delete, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "delete", ApiRequestStatus.OKAY, duration_,request);
+
+ }
+
+ public void createFlavor(org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor request) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createFlavor", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createFlavor);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.createFlavor(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createFlavor", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createFlavor, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createFlavor", ApiRequestStatus.OKAY, duration_,request);
+
+ }
+
+ public void createSecurityGroup(org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup request) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createSecurityGroup", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createSecurityGroup);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.createSecurityGroup(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createSecurityGroup", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createSecurityGroup, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createSecurityGroup", ApiRequestStatus.OKAY, duration_,request);
+
+ }
+
+ public void serverAction(org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction request) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "serverAction", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.serverAction);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.serverAction(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "serverAction", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.serverAction, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "serverAction", ApiRequestStatus.OKAY, duration_,request);
+
+ }
+
+ public void deployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deployVmType", ApiRequestStatus.START, duration_,vmTypeName,projectName);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deployVmType);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deployVmType(vmTypeName,projectName);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deployVmType", ApiRequestStatus.ERROR, duration_,vmTypeName,projectName);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deployVmType, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deployVmType", ApiRequestStatus.OKAY, duration_,vmTypeName,projectName);
+
+ }
+
+ public void undeployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "undeployVmType", ApiRequestStatus.START, duration_,vmTypeName,projectName);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.undeployVmType);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.undeployVmType(vmTypeName,projectName);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "undeployVmType", ApiRequestStatus.ERROR, duration_,vmTypeName,projectName);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.undeployVmType, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "undeployVmType", ApiRequestStatus.OKAY, duration_,vmTypeName,projectName);
+
+ }
+
+ public void deployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deployUser", ApiRequestStatus.START, duration_,user,projectName);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deployUser);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deployUser(user,projectName);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deployUser", ApiRequestStatus.ERROR, duration_,user,projectName);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deployUser, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deployUser", ApiRequestStatus.OKAY, duration_,user,projectName);
+
+ }
+
+ public void undeployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "undeployUser", ApiRequestStatus.START, duration_,user,projectName);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.undeployUser);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.undeployUser(user,projectName);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "undeployUser", ApiRequestStatus.ERROR, duration_,user,projectName);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.undeployUser, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "undeployUser", ApiRequestStatus.OKAY, duration_,user,projectName);
+
+ }
+
+ public org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm createAlarm(org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest request) {
+ org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm res = null;
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createAlarm", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createAlarm);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ res = controller.createAlarm(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createAlarm", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createAlarm, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createAlarm", ApiRequestStatus.OKAY, duration_,request);
+ return res;
+ }
+
+ public void deleteAlarm(java.lang.String projectName, java.lang.String name) {
+
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteAlarm", ApiRequestStatus.START, duration_,projectName,name);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.deleteAlarm);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ controller.deleteAlarm(projectName,name);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteAlarm", ApiRequestStatus.ERROR, duration_,projectName,name);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.deleteAlarm, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "deleteAlarm", ApiRequestStatus.OKAY, duration_,projectName,name);
+
+ }
+
+ public EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> createAlarm(org.openecomp.ncomp.openstack.ceilometer.SampleRequest request) {
+ EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> res = null;
+ long duration_ = 0;
+ if (server != null)
+ server.getServer().recordApi(null, this, "createAlarm", ApiRequestStatus.START, duration_,request);
+ Date now_ = new Date();
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.createAlarm);
+ ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ try {
+ res = controller.createAlarm(request);
+ }
+ catch (Exception e) {
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createAlarm", ApiRequestStatus.ERROR, duration_,request);
+ System.err.println("ERROR: " + e);
+ ecomplogger.warn(OpenStackLocationMessageEnum.createAlarm, e.toString());
+ throw e;
+ }
+ ecomplogger.recordMetricEventEnd();
+ duration_ = new Date().getTime()-now_.getTime();
+ if (server != null)
+ server.getServer().recordApi(null, this, "createAlarm", ApiRequestStatus.OKAY, duration_,request);
+ return res;
+ }
+
+
+
+
+
+
+ public static void ecoreSetup() {
+ OsOpenStackLocationProvider.ecoreSetup();
+ }
+ public OsOpenStackLocationProvider getSomfProvider() {
+ return controller;
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationClient.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationClient.java
new file mode 100644
index 0000000..92bfacc
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationClient.java
@@ -0,0 +1,498 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit. No need to extend this class.
+package org.openecomp.ncomp.servers.openstack.loc;
+
+import org.openecomp.ncomp.sirius.manager.AbstractClient;
+import org.openecomp.ncomp.sirius.manager.HighAvailabilityClient;
+import org.openecomp.ncomp.sirius.manager.GenericHttpClient;
+
+import org.apache.log4j.Logger;
+
+import org.openecomp.logger.EcompLogger;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.openecomp.ncomp.servers.openstack.loc.logging.OpenStackLocationOperationEnum;
+import org.openecomp.ncomp.servers.openstack.loc.logging.OpenStackLocationMessageEnum;
+
+
+import org.openecomp.ncomp.servers.openstack.OsOpenStackController;
+
+
+
+
+@SuppressWarnings("unchecked")
+public class OsOpenStackLocationClient extends OpenStackLocationImpl {
+ public static final Logger logger = Logger.getLogger(OsOpenStackLocationClient.class);
+ static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
+ public AbstractClient client;
+
+ public OsOpenStackLocationClient(String file, String name) {
+ OsOpenStackController.ecoreSetup();
+ client = new GenericHttpClient(file,name);
+ client.add("/loc", this);
+ }
+
+ public OsOpenStackLocationClient(String file, String name1, String name2) {
+ HighAvailabilityClient client1 = new HighAvailabilityClient(file,name1,name2);
+ client = client1.all; // requests should be forwarded to all.
+ client.add("/loc", this);
+ }
+
+ public OsOpenStackLocationClient(AbstractClient c) {
+ client = c;
+ client.add("/resources", this);
+ }
+
+
+
+ @Override
+ public void poll() {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_poll);
+
+ try {
+ client.operationPath("/loc", c, "poll", null);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_poll, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@poll: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void mergeLocation(org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_mergeLocation);
+
+ try {
+ client.operationPath("/loc", c, "mergeLocation", null, loc);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_mergeLocation, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@mergeLocation: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public org.openecomp.ncomp.openstack.neutron.Network createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createNetwork);
+ org.openecomp.ncomp.openstack.neutron.Network res;
+ try {
+ res = (org.openecomp.ncomp.openstack.neutron.Network) client.operationPath("/loc", c, "createNetwork", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createNetwork, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createNetwork: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+ return res;
+ }
+
+ @Override
+ public org.openecomp.ncomp.openstack.neutron.Subnet createSubnet(org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createSubnet);
+ org.openecomp.ncomp.openstack.neutron.Subnet res;
+ try {
+ res = (org.openecomp.ncomp.openstack.neutron.Subnet) client.operationPath("/loc", c, "createSubnet", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createSubnet, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createSubnet: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+ return res;
+ }
+
+ @Override
+ public org.openecomp.ncomp.openstack.neutron.Port createPort(org.openecomp.ncomp.openstack.neutron.CreatePortRequest request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createPort);
+ org.openecomp.ncomp.openstack.neutron.Port res;
+ try {
+ res = (org.openecomp.ncomp.openstack.neutron.Port) client.operationPath("/loc", c, "createPort", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createPort, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createPort: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+ return res;
+ }
+
+ @Override
+ public org.openecomp.ncomp.openstack.neutron.Router createRouter(org.openecomp.ncomp.openstack.neutron.CreateRouterRequest request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createRouter);
+ org.openecomp.ncomp.openstack.neutron.Router res;
+ try {
+ res = (org.openecomp.ncomp.openstack.neutron.Router) client.operationPath("/loc", c, "createRouter", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createRouter, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createRouter: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+ return res;
+ }
+
+ @Override
+ public void deleteNetwork(java.lang.String projectName, java.lang.String name) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deleteNetwork);
+
+ try {
+ client.operationPath("/loc", c, "deleteNetwork", null, projectName,name);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deleteNetwork, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deleteNetwork: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void deleteSubnet(java.lang.String projectName, java.lang.String name) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deleteSubnet);
+
+ try {
+ client.operationPath("/loc", c, "deleteSubnet", null, projectName,name);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deleteSubnet, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deleteSubnet: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void deletePort(java.lang.String projectName, java.lang.String name) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deletePort);
+
+ try {
+ client.operationPath("/loc", c, "deletePort", null, projectName,name);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deletePort, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deletePort: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void deleteRouter(java.lang.String projectName, java.lang.String name) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deleteRouter);
+
+ try {
+ client.operationPath("/loc", c, "deleteRouter", null, projectName,name);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deleteRouter, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deleteRouter: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void associateFloatingIp(java.lang.String projectName, java.lang.String ipId, java.lang.String portId) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_associateFloatingIp);
+
+ try {
+ client.operationPath("/loc", c, "associateFloatingIp", null, projectName,ipId,portId);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_associateFloatingIp, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@associateFloatingIp: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void createServer(org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createServer);
+
+ try {
+ client.operationPath("/loc", c, "createServer", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createServer, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createServer: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void deleteServer(java.lang.String projectName, java.lang.String name) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deleteServer);
+
+ try {
+ client.operationPath("/loc", c, "deleteServer", null, projectName,name);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deleteServer, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deleteServer: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void createKeyPair(org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createKeyPair);
+
+ try {
+ client.operationPath("/loc", c, "createKeyPair", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createKeyPair, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createKeyPair: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void delete(org.openecomp.ncomp.openstack.core.OpenstackRequestDelete request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_delete);
+
+ try {
+ client.operationPath("/loc", c, "delete", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_delete, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@delete: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void createFlavor(org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createFlavor);
+
+ try {
+ client.operationPath("/loc", c, "createFlavor", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createFlavor, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createFlavor: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void createSecurityGroup(org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createSecurityGroup);
+
+ try {
+ client.operationPath("/loc", c, "createSecurityGroup", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createSecurityGroup, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createSecurityGroup: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void serverAction(org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_serverAction);
+
+ try {
+ client.operationPath("/loc", c, "serverAction", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_serverAction, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@serverAction: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void deployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deployVmType);
+
+ try {
+ client.operationPath("/loc", c, "deployVmType", null, vmTypeName,projectName);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deployVmType, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deployVmType: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void undeployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_undeployVmType);
+
+ try {
+ client.operationPath("/loc", c, "undeployVmType", null, vmTypeName,projectName);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_undeployVmType, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@undeployVmType: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void deployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deployUser);
+
+ try {
+ client.operationPath("/loc", c, "deployUser", null, user,projectName);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deployUser, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deployUser: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public void undeployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_undeployUser);
+
+ try {
+ client.operationPath("/loc", c, "undeployUser", null, user,projectName);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_undeployUser, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@undeployUser: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm createAlarm(org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createAlarm);
+ org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm res;
+ try {
+ res = (org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm) client.operationPath("/loc", c, "createAlarm", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createAlarm, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createAlarm: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+ return res;
+ }
+
+ @Override
+ public void deleteAlarm(java.lang.String projectName, java.lang.String name) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_deleteAlarm);
+
+ try {
+ client.operationPath("/loc", c, "deleteAlarm", null, projectName,name);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_deleteAlarm, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@deleteAlarm: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+
+ }
+
+ @Override
+ public EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> createAlarm(org.openecomp.ncomp.openstack.ceilometer.SampleRequest request) {
+ EClass c = LocationPackage.eINSTANCE.getOpenStackLocation(); //foo
+ ecomplogger.recordMetricEventStart();
+ ecomplogger.setOperation(OpenStackLocationOperationEnum.REMOTE_createAlarm);
+ EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> res;
+ try {
+ res = (EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample>) client.operationPath("/loc", c, "createAlarm", null, request);
+ }
+ catch (Exception e) {
+ ecomplogger.warn(OpenStackLocationMessageEnum.REMOTE_createAlarm, e.toString());
+ throw new RuntimeException("remote call failed: " + client.getRemote() + "@createAlarm: " + e);
+ }
+ ecomplogger.recordMetricEventEnd();
+ return res;
+ }
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationConsole.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationConsole.java
new file mode 100644
index 0000000..db83255
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationConsole.java
@@ -0,0 +1,332 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+// Autogenerated
+// Do not edit but extend this class as needed
+package org.openecomp.ncomp.servers.openstack.loc;
+
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+
+import org.openecomp.ncomp.sirius.manager.console.Console;
+import org.openecomp.ncomp.sirius.manager.AbstractClient;
+import org.openecomp.ncomp.sirius.manager.ManagementServerError;
+
+
+
+
+public class OsOpenStackLocationConsole extends Console {
+ public static final Logger logger = Logger.getLogger(OsOpenStackLocationConsole.class);
+ protected OsOpenStackLocationClient controller;
+
+
+
+
+ public OsOpenStackLocationConsole(String filename, String name) {
+ super(filename, name);
+ controller = new OsOpenStackLocationClient(filename,name);
+ client = controller.client;
+
+ }
+
+ public OsOpenStackLocationConsole(AbstractClient c) {
+ controller = new OsOpenStackLocationClient(c);
+ client = controller.client;
+ }
+
+
+ public void poll() {
+
+ try {
+ controller.poll();
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void mergeLocation(org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+
+ try {
+ controller.mergeLocation(loc);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Network createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Network res = null;
+ try {
+ res = controller.createNetwork(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+ return res;
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Subnet createSubnet(org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Subnet res = null;
+ try {
+ res = controller.createSubnet(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+ return res;
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Port createPort(org.openecomp.ncomp.openstack.neutron.CreatePortRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Port res = null;
+ try {
+ res = controller.createPort(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+ return res;
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Router createRouter(org.openecomp.ncomp.openstack.neutron.CreateRouterRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Router res = null;
+ try {
+ res = controller.createRouter(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+ return res;
+ }
+
+ public void deleteNetwork(java.lang.String projectName, java.lang.String name) {
+
+ try {
+ controller.deleteNetwork(projectName,name);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void deleteSubnet(java.lang.String projectName, java.lang.String name) {
+
+ try {
+ controller.deleteSubnet(projectName,name);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void deletePort(java.lang.String projectName, java.lang.String name) {
+
+ try {
+ controller.deletePort(projectName,name);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void deleteRouter(java.lang.String projectName, java.lang.String name) {
+
+ try {
+ controller.deleteRouter(projectName,name);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void associateFloatingIp(java.lang.String projectName, java.lang.String ipId, java.lang.String portId) {
+
+ try {
+ controller.associateFloatingIp(projectName,ipId,portId);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void createServer(org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer request) {
+
+ try {
+ controller.createServer(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void deleteServer(java.lang.String projectName, java.lang.String name) {
+
+ try {
+ controller.deleteServer(projectName,name);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void createKeyPair(org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair request) {
+
+ try {
+ controller.createKeyPair(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void delete(org.openecomp.ncomp.openstack.core.OpenstackRequestDelete request) {
+
+ try {
+ controller.delete(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void createFlavor(org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor request) {
+
+ try {
+ controller.createFlavor(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void createSecurityGroup(org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup request) {
+
+ try {
+ controller.createSecurityGroup(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void serverAction(org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction request) {
+
+ try {
+ controller.serverAction(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void deployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+
+ try {
+ controller.deployVmType(vmTypeName,projectName);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void undeployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+
+ try {
+ controller.undeployVmType(vmTypeName,projectName);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void deployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+
+ try {
+ controller.deployUser(user,projectName);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public void undeployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+
+ try {
+ controller.undeployUser(user,projectName);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm createAlarm(org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest request) {
+ org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm res = null;
+ try {
+ res = controller.createAlarm(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+ return res;
+ }
+
+ public void deleteAlarm(java.lang.String projectName, java.lang.String name) {
+
+ try {
+ controller.deleteAlarm(projectName,name);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+
+ }
+
+ public EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> createAlarm(org.openecomp.ncomp.openstack.ceilometer.SampleRequest request) {
+ EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> res = null;
+ try {
+ res = controller.createAlarm(request);
+ }
+ catch (ManagementServerError e) {
+ System.err.println("ERROR: " + e.getJson().toString(2));
+ }
+ return res;
+ }
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProviderTemplate.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProviderTemplate.java
new file mode 100644
index 0000000..0ac84a3
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/OsOpenStackLocationProviderTemplate.java
@@ -0,0 +1,213 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.loc;
+
+
+
+
+
+import java.io.InputStream;
+
+import org.openecomp.ncomp.sirius.manager.IRequestHandler;
+import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.function.FunctionUtils;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+import org.json.JSONObject;
+
+
+
+import org.openecomp.ncomp.sirius.manager.BasicAdaptorProvider;
+
+
+import org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+
+
+public class OsOpenStackLocationProviderTemplate extends BasicAdaptorProvider {
+ private static final Logger logger = Logger.getLogger(OsOpenStackLocationProviderTemplate.class);
+ OpenStackLocation o;
+
+ public OsOpenStackLocationProviderTemplate(ISiriusServer controller, OpenStackLocation o) {
+ super(controller, o);
+ this.o = o;
+ }
+
+ public void poll() {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void mergeLocation(org.openecomp.ncomp.openstack.location.OpenStackLocation loc) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Network createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Network res = null;
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Subnet createSubnet(org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Subnet res = null;
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Port createPort(org.openecomp.ncomp.openstack.neutron.CreatePortRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Port res = null;
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public org.openecomp.ncomp.openstack.neutron.Router createRouter(org.openecomp.ncomp.openstack.neutron.CreateRouterRequest request) {
+ org.openecomp.ncomp.openstack.neutron.Router res = null;
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deleteNetwork(java.lang.String projectName, java.lang.String name) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deleteSubnet(java.lang.String projectName, java.lang.String name) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deletePort(java.lang.String projectName, java.lang.String name) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deleteRouter(java.lang.String projectName, java.lang.String name) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void associateFloatingIp(java.lang.String projectName, java.lang.String ipId, java.lang.String portId) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void createServer(org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer request) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deleteServer(java.lang.String projectName, java.lang.String name) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void createKeyPair(org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair request) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void delete(org.openecomp.ncomp.openstack.core.OpenstackRequestDelete request) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void createFlavor(org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor request) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void createSecurityGroup(org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup request) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void serverAction(org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction request) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void undeployVmType(java.lang.String vmTypeName, java.lang.String projectName) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void undeployUser(org.openecomp.ncomp.core.User user, java.lang.String projectName) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm createAlarm(org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest request) {
+ org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm res = null;
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public void deleteAlarm(java.lang.String projectName, java.lang.String name) {
+
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+ public EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> createAlarm(org.openecomp.ncomp.openstack.ceilometer.SampleRequest request) {
+ EList<org.openecomp.ncomp.openstack.ceilometer.CeilometerSample> res = null;
+ // TODO IMPLEMENT
+ throw new UnsupportedOperationException();
+ }
+
+
+
+
+
+
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocation.properties b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocation.properties
new file mode 100644
index 0000000..1329d77
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocation.properties
@@ -0,0 +1,294 @@
+
+dummy=\
+ null|\
+ null|\
+ null|\
+ null
+
+createNetwork=\
+ createNetwork-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createSubnet=\
+ createSubnet-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createPort=\
+ createPort-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createRouter=\
+ createRouter-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deleteNetwork=\
+ deleteNetwork-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deleteSubnet=\
+ deleteSubnet-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deletePort=\
+ deletePort-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deleteRouter=\
+ deleteRouter-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+associateFloatingIp=\
+ associateFloatingIp-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createServer=\
+ createServer-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deleteServer=\
+ deleteServer-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createKeyPair=\
+ createKeyPair-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+delete=\
+ delete-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createFlavor=\
+ createFlavor-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createSecurityGroup=\
+ createSecurityGroup-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+serverAction=\
+ serverAction-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deployVmType=\
+ deployVmType-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+undeployVmType=\
+ undeployVmType-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deployUser=\
+ deployUser-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+undeployUser=\
+ undeployUser-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+createAlarm=\
+ createAlarm-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+deleteAlarm=\
+ deleteAlarm-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+poll=\
+ poll-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+mergeLocation=\
+ mergeLocation-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+REMOTE_createNetwork=\
+ REMOTE-createNetwork-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createSubnet=\
+ REMOTE-createSubnet-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createPort=\
+ REMOTE-createPort-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createRouter=\
+ REMOTE-createRouter-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deleteNetwork=\
+ REMOTE-deleteNetwork-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deleteSubnet=\
+ REMOTE-deleteSubnet-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deletePort=\
+ REMOTE-deletePort-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deleteRouter=\
+ REMOTE-deleteRouter-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_associateFloatingIp=\
+ REMOTE-associateFloatingIp-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createServer=\
+ REMOTE-createServer-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deleteServer=\
+ REMOTE-deleteServer-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createKeyPair=\
+ REMOTE-createKeyPair-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_delete=\
+ REMOTE-delete-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createFlavor=\
+ REMOTE-createFlavor-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createSecurityGroup=\
+ REMOTE-createSecurityGroup-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_serverAction=\
+ REMOTE-serverAction-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deployVmType=\
+ REMOTE-deployVmType-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_undeployVmType=\
+ REMOTE-undeployVmType-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deployUser=\
+ REMOTE-deployUser-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_undeployUser=\
+ REMOTE-undeployUser-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_createAlarm=\
+ REMOTE-createAlarm-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_deleteAlarm=\
+ REMOTE-deleteAlarm-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_poll=\
+ REMOTE-poll-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
+
+REMOTE_mergeLocation=\
+ REMOTE-mergeLocation-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationMessageEnum.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationMessageEnum.java
new file mode 100644
index 0000000..b0f7851
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationMessageEnum.java
@@ -0,0 +1,83 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.loc.logging;
+
+import com.att.eelf.i18n.EELFResourceManager;
+import org.openecomp.logger.EcompMessageEnum;
+
+public enum OpenStackLocationMessageEnum implements EcompMessageEnum {
+
+ dummy,
+ createNetwork,
+ createSubnet,
+ createPort,
+ createRouter,
+ deleteNetwork,
+ deleteSubnet,
+ deletePort,
+ deleteRouter,
+ associateFloatingIp,
+ createServer,
+ deleteServer,
+ createKeyPair,
+ delete,
+ createFlavor,
+ createSecurityGroup,
+ serverAction,
+ deployVmType,
+ undeployVmType,
+ deployUser,
+ undeployUser,
+ createAlarm,
+ deleteAlarm,
+ poll,
+ mergeLocation,
+ REMOTE_createNetwork,
+ REMOTE_createSubnet,
+ REMOTE_createPort,
+ REMOTE_createRouter,
+ REMOTE_deleteNetwork,
+ REMOTE_deleteSubnet,
+ REMOTE_deletePort,
+ REMOTE_deleteRouter,
+ REMOTE_associateFloatingIp,
+ REMOTE_createServer,
+ REMOTE_deleteServer,
+ REMOTE_createKeyPair,
+ REMOTE_delete,
+ REMOTE_createFlavor,
+ REMOTE_createSecurityGroup,
+ REMOTE_serverAction,
+ REMOTE_deployVmType,
+ REMOTE_undeployVmType,
+ REMOTE_deployUser,
+ REMOTE_undeployUser,
+ REMOTE_createAlarm,
+ REMOTE_deleteAlarm,
+ REMOTE_poll,
+ REMOTE_mergeLocation;
+
+ static {
+ EELFResourceManager.loadMessageBundle("org.openecomp.ncomp.servers.openstack.loc.logging.OpenStackLocation");
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationOperationEnum.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationOperationEnum.java
new file mode 100644
index 0000000..5c37fc3
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/loc/logging/OpenStackLocationOperationEnum.java
@@ -0,0 +1,77 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.loc.logging;
+
+import org.openecomp.entity.EcompOperationEnum;
+
+public enum OpenStackLocationOperationEnum implements EcompOperationEnum {
+
+ createNetwork,
+ createSubnet,
+ createPort,
+ createRouter,
+ deleteNetwork,
+ deleteSubnet,
+ deletePort,
+ deleteRouter,
+ associateFloatingIp,
+ createServer,
+ deleteServer,
+ createKeyPair,
+ delete,
+ createFlavor,
+ createSecurityGroup,
+ serverAction,
+ deployVmType,
+ undeployVmType,
+ deployUser,
+ undeployUser,
+ createAlarm,
+ deleteAlarm,
+ poll,
+ mergeLocation,
+ REMOTE_createNetwork,
+ REMOTE_createSubnet,
+ REMOTE_createPort,
+ REMOTE_createRouter,
+ REMOTE_deleteNetwork,
+ REMOTE_deleteSubnet,
+ REMOTE_deletePort,
+ REMOTE_deleteRouter,
+ REMOTE_associateFloatingIp,
+ REMOTE_createServer,
+ REMOTE_deleteServer,
+ REMOTE_createKeyPair,
+ REMOTE_delete,
+ REMOTE_createFlavor,
+ REMOTE_createSecurityGroup,
+ REMOTE_serverAction,
+ REMOTE_deployVmType,
+ REMOTE_undeployVmType,
+ REMOTE_deployUser,
+ REMOTE_undeployUser,
+ REMOTE_createAlarm,
+ REMOTE_deleteAlarm,
+ REMOTE_poll,
+ REMOTE_mergeLocation;
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptor.properties b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptor.properties
new file mode 100644
index 0000000..47c5487
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptor.properties
@@ -0,0 +1,6 @@
+
+POLLING_FAILED=\
+ NCOMP-OPENSTACK-POLLING-FAILED-5001W|\
+ {0}|\
+ Verify Openstack setup.|\
+ Openstack Polling fails.
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorMessageEnum.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorMessageEnum.java
new file mode 100644
index 0000000..e412d6d
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorMessageEnum.java
@@ -0,0 +1,35 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.logging;
+
+import com.att.eelf.i18n.EELFResourceManager;
+import org.openecomp.logger.EcompMessageEnum;
+
+public enum OpenStackAdaptorMessageEnum implements EcompMessageEnum {
+
+ POLLING_FAILED;
+
+ static {
+ EELFResourceManager.loadMessageBundle("org.openecomp.ncomp.servers.openstack.logging.OpenStackAdaptor");
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorOperationEnum.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorOperationEnum.java
new file mode 100644
index 0000000..e83d584
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackAdaptorOperationEnum.java
@@ -0,0 +1,30 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.logging;
+
+import org.openecomp.entity.EcompOperationEnum;
+
+public enum OpenStackAdaptorOperationEnum implements EcompOperationEnum {
+
+ POLLING;
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackController.properties b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackController.properties
new file mode 100644
index 0000000..5825f57
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackController.properties
@@ -0,0 +1,18 @@
+
+dummy=\
+ null|\
+ null|\
+ null|\
+ null
+
+uploadOpenstackConfiguration=\
+ uploadOpenstackConfiguration-FAILED-5001W|\
+ {0}|\
+ null|\
+ Operation Failed with Exception
+
+REMOTE_uploadOpenstackConfiguration=\
+ REMOTE-uploadOpenstackConfiguration-FAILED-5001W|\
+ {0}|\
+ null|\
+ Remote Operation Failed with Exception
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerMessageEnum.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerMessageEnum.java
new file mode 100644
index 0000000..ee93bf2
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerMessageEnum.java
@@ -0,0 +1,37 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.logging;
+
+import com.att.eelf.i18n.EELFResourceManager;
+import org.openecomp.logger.EcompMessageEnum;
+
+public enum OpenStackControllerMessageEnum implements EcompMessageEnum {
+
+ dummy,
+ uploadOpenstackConfiguration,
+ REMOTE_uploadOpenstackConfiguration;
+
+ static {
+ EELFResourceManager.loadMessageBundle("org.openecomp.ncomp.servers.openstack.logging.OpenStackController");
+ }
+}
diff --git a/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerOperationEnum.java b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerOperationEnum.java
new file mode 100644
index 0000000..069aa56
--- /dev/null
+++ b/ncomp-openstack-controller/src/main/sirius-gen/org/openecomp/ncomp/servers/openstack/logging/OpenStackControllerOperationEnum.java
@@ -0,0 +1,31 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.ncomp.servers.openstack.logging;
+
+import org.openecomp.entity.EcompOperationEnum;
+
+public enum OpenStackControllerOperationEnum implements EcompOperationEnum {
+
+ uploadOpenstackConfiguration,
+ REMOTE_uploadOpenstackConfiguration;
+}
diff --git a/ncomp-openstack-feature/.project b/ncomp-openstack-feature/.project
new file mode 100644
index 0000000..037a3a7
--- /dev/null
+++ b/ncomp-openstack-feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ncomp-openstack-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/ncomp-openstack-feature/LICENSE.txt b/ncomp-openstack-feature/LICENSE.txt
new file mode 100644
index 0000000..30471b5
--- /dev/null
+++ b/ncomp-openstack-feature/LICENSE.txt
@@ -0,0 +1,22 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.
diff --git a/ncomp-openstack-model/.classpath b/ncomp-openstack-model/.classpath
new file mode 100644
index 0000000..04150e2
--- /dev/null
+++ b/ncomp-openstack-model/.classpath
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/xcore">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/classes" path="src/main/xcore-gen">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/ncomp-openstack-model/.gitignore b/ncomp-openstack-model/.gitignore
new file mode 100644
index 0000000..09e3bc9
--- /dev/null
+++ b/ncomp-openstack-model/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/ncomp-openstack-model/.project b/ncomp-openstack-model/.project
new file mode 100644
index 0000000..63f1f30
--- /dev/null
+++ b/ncomp-openstack-model/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ncomp-openstack-model</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/ncomp-openstack-model/.settings/org.eclipse.core.resources.prefs b/ncomp-openstack-model/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..1f99b20
--- /dev/null
+++ b/ncomp-openstack-model/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//src/main/xcore=UTF-8
+encoding//src/main/xcore-gen=UTF-8
+encoding//src/test/java=UTF-8
+encoding/<project>=UTF-8
diff --git a/ncomp-openstack-model/.settings/org.eclipse.jdt.core.prefs b/ncomp-openstack-model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..443e085
--- /dev/null
+++ b/ncomp-openstack-model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/ncomp-openstack-model/.settings/org.eclipse.m2e.core.prefs b/ncomp-openstack-model/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/ncomp-openstack-model/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/ncomp-openstack-model/LICENSE.txt b/ncomp-openstack-model/LICENSE.txt
new file mode 100644
index 0000000..30471b5
--- /dev/null
+++ b/ncomp-openstack-model/LICENSE.txt
@@ -0,0 +1,22 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.
diff --git a/ncomp-openstack-model/META-INF/MANIFEST.MF b/ncomp-openstack-model/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3919f9b
--- /dev/null
+++ b/ncomp-openstack-model/META-INF/MANIFEST.MF
@@ -0,0 +1,37 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: ncomp-openstack-model;singleton:=true
+Bundle-Version: 0.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.openecomp.ncomp.openstack.core,
+ org.openecomp.ncomp.openstack.core.impl,
+ org.openecomp.ncomp.openstack.core.util,
+ org.openecomp.ncomp.openstack.neutron,
+ org.openecomp.ncomp.openstack.neutron.impl,
+ org.openecomp.ncomp.openstack.neutron.util,
+ org.openecomp.ncomp.openstack.compute,
+ org.openecomp.ncomp.openstack.compute.impl,
+ org.openecomp.ncomp.openstack.compute.util,
+ org.openecomp.ncomp.openstack.location,
+ org.openecomp.ncomp.openstack.location.impl,
+ org.openecomp.ncomp.openstack.location.util,
+ org.openecomp.ncomp.openstack,
+ org.openecomp.ncomp.openstack.impl,
+ org.openecomp.ncomp.openstack.util,
+ org.openecomp.ncomp.openstack.ceilometer,
+ org.openecomp.ncomp.openstack.ceilometer.impl,
+ org.openecomp.ncomp.openstack.ceilometer.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.emf.ecore.xcore.lib,
+ ncomp-openstack-model;visibility:=reexport,
+ ncomp-utils-java;bundle-version="0.1.0",
+ ncomp-core-model;bundle-version="0.1.0";visibility:=reexport,
+ ncomp-sirius-manager-model;visibility:=reexport,
+ ncomp-sirius-manager-server;bundle-version="0.1.0"
+Bundle-ActivationPolicy: lazy
diff --git a/ncomp-openstack-model/build.properties b/ncomp-openstack-model/build.properties
new file mode 100644
index 0000000..600e4ec
--- /dev/null
+++ b/ncomp-openstack-model/build.properties
@@ -0,0 +1,12 @@
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/main/xcore-gen/,\
+ src/main/xcore/
+output.. = bin/,\
+ target/classes/
diff --git a/ncomp-openstack-model/plugin.properties b/ncomp-openstack-model/plugin.properties
new file mode 100644
index 0000000..43a9a9f
--- /dev/null
+++ b/ncomp-openstack-model/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = Core Model
+providerName = www.example.org
diff --git a/ncomp-openstack-model/plugin.xml b/ncomp-openstack-model/plugin.xml
new file mode 100644
index 0000000..5ae0c3d
--- /dev/null
+++ b/ncomp-openstack-model/plugin.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated core -->
+ <package
+ uri="org.openecomp.ncomp.openstack.core"
+ class="org.openecomp.ncomp.openstack.core.CorePackage"
+ genModel="src/main/xcore/core.xcore"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated neutron -->
+ <package
+ uri="org.openecomp.ncomp.openstack.neutron"
+ class="org.openecomp.ncomp.openstack.neutron.NeutronPackage"
+ genModel="src/main/xcore/neutron.xcore"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated compute -->
+ <package
+ uri="org.openecomp.ncomp.openstack.compute"
+ class="org.openecomp.ncomp.openstack.compute.ComputePackage"
+ genModel="src/main/xcore/compute.xcore"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated location -->
+ <package
+ uri="org.openecomp.ncomp.openstack.location"
+ class="org.openecomp.ncomp.openstack.location.LocationPackage"
+ genModel="src/main/xcore/location.xcore"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated openstack -->
+ <package
+ uri="org.openecomp.ncomp.openstack"
+ class="org.openecomp.ncomp.openstack.OpenstackPackage"
+ genModel="src/main/xcore/openstack.xcore"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated ceilometer -->
+ <package
+ uri="org.openecomp.ncomp.openstack.ceilometer"
+ class="org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage"
+ genModel="src/main/xcore/ceilometer.xcore"/>
+ </extension>
+
+</plugin>
diff --git a/ncomp-openstack-model/pom.xml b/ncomp-openstack-model/pom.xml
new file mode 100644
index 0000000..54ccf21
--- /dev/null
+++ b/ncomp-openstack-model/pom.xml
@@ -0,0 +1,18 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.openecomp.ncomp.openstack</groupId>
+ <artifactId>ncomp-openstack-model</artifactId>
+ <parent>
+ <groupId>org.openecomp.ncomp.maven</groupId>
+ <artifactId>ncomp-maven-xcore</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <relativePath>../../dcae-org.openecomp.ncomp.maven/ncomp-maven-xcore</relativePath>
+ </parent>
+ <dependencies>
+ <dependency>
+ <groupId>org.openecomp.ncomp.sirius.manager</groupId>
+ <artifactId>ncomp-sirius-manager-server</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenStackController.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenStackController.java
new file mode 100644
index 0000000..3c57edd
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenStackController.java
@@ -0,0 +1,108 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.json.JSONObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Open Stack Controller</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.OpenStackController#getLocations <em>Locations</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.OpenStackController#getVmTypes <em>Vm Types</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.OpenStackController#getUsers <em>Users</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage#getOpenStackController()
+ * @model
+ * @generated
+ */
+public interface OpenStackController extends EObject {
+ /**
+ * Returns the value of the '<em><b>Locations</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.location.OpenStackLocation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Locations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Locations</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage#getOpenStackController_Locations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<OpenStackLocation> getLocations();
+
+ /**
+ * Returns the value of the '<em><b>Vm Types</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.core.VirtualMachineType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vm Types</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vm Types</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage#getOpenStackController_VmTypes()
+ * @model containment="true"
+ * @generated
+ */
+ EList<VirtualMachineType> getVmTypes();
+
+ /**
+ * Returns the value of the '<em><b>Users</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.core.User}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Users</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Users</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage#getOpenStackController_Users()
+ * @model containment="true"
+ * @generated
+ */
+ EList<User> getUsers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model cxDataType="org.openecomp.ncomp.core.RemoteContext" cxUnique="false" locUnique="false"
+ * @generated
+ */
+ void uploadOpenstackConfiguration(JSONObject cx, OpenStackLocation loc);
+
+} // OpenStackController
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackFactory.java
new file mode 100644
index 0000000..1ee3d6d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackFactory.java
@@ -0,0 +1,63 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage
+ * @generated
+ */
+public interface OpenstackFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ OpenstackFactory eINSTANCE = org.openecomp.ncomp.openstack.impl.OpenstackFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Open Stack Controller</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Open Stack Controller</em>'.
+ * @generated
+ */
+ OpenStackController createOpenStackController();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ OpenstackPackage getOpenstackPackage();
+
+} //OpenstackFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackPackage.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackPackage.java
new file mode 100644
index 0000000..4d08c00
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/OpenstackPackage.java
@@ -0,0 +1,266 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.OpenstackFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/ncomp-openstack-model/src/main/xcore-gen' basePackage='org.openecomp.ncomp'"
+ * @generated
+ */
+public interface OpenstackPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "openstack";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.ncomp.openstack";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "openstack";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ OpenstackPackage eINSTANCE = org.openecomp.ncomp.openstack.impl.OpenstackPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl <em>Open Stack Controller</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl
+ * @see org.openecomp.ncomp.openstack.impl.OpenstackPackageImpl#getOpenStackController()
+ * @generated
+ */
+ int OPEN_STACK_CONTROLLER = 0;
+
+ /**
+ * The feature id for the '<em><b>Locations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_CONTROLLER__LOCATIONS = 0;
+
+ /**
+ * The feature id for the '<em><b>Vm Types</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_CONTROLLER__VM_TYPES = 1;
+
+ /**
+ * The feature id for the '<em><b>Users</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_CONTROLLER__USERS = 2;
+
+ /**
+ * The number of structural features of the '<em>Open Stack Controller</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_CONTROLLER_FEATURE_COUNT = 3;
+
+ /**
+ * The operation id for the '<em>Upload Openstack Configuration</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_CONTROLLER___UPLOAD_OPENSTACK_CONFIGURATION__JSONOBJECT_OPENSTACKLOCATION = 0;
+
+ /**
+ * The number of operations of the '<em>Open Stack Controller</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_CONTROLLER_OPERATION_COUNT = 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.OpenStackController <em>Open Stack Controller</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Open Stack Controller</em>'.
+ * @see org.openecomp.ncomp.openstack.OpenStackController
+ * @generated
+ */
+ EClass getOpenStackController();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.OpenStackController#getLocations <em>Locations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Locations</em>'.
+ * @see org.openecomp.ncomp.openstack.OpenStackController#getLocations()
+ * @see #getOpenStackController()
+ * @generated
+ */
+ EReference getOpenStackController_Locations();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.OpenStackController#getVmTypes <em>Vm Types</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Vm Types</em>'.
+ * @see org.openecomp.ncomp.openstack.OpenStackController#getVmTypes()
+ * @see #getOpenStackController()
+ * @generated
+ */
+ EReference getOpenStackController_VmTypes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.OpenStackController#getUsers <em>Users</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Users</em>'.
+ * @see org.openecomp.ncomp.openstack.OpenStackController#getUsers()
+ * @see #getOpenStackController()
+ * @generated
+ */
+ EReference getOpenStackController_Users();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.OpenStackController#uploadOpenstackConfiguration(org.json.JSONObject, org.openecomp.ncomp.openstack.location.OpenStackLocation) <em>Upload Openstack Configuration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Upload Openstack Configuration</em>' operation.
+ * @see org.openecomp.ncomp.openstack.OpenStackController#uploadOpenstackConfiguration(org.json.JSONObject, org.openecomp.ncomp.openstack.location.OpenStackLocation)
+ * @generated
+ */
+ EOperation getOpenStackController__UploadOpenstackConfiguration__JSONObject_OpenStackLocation();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ OpenstackFactory getOpenstackFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl <em>Open Stack Controller</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl
+ * @see org.openecomp.ncomp.openstack.impl.OpenstackPackageImpl#getOpenStackController()
+ * @generated
+ */
+ EClass OPEN_STACK_CONTROLLER = eINSTANCE.getOpenStackController();
+
+ /**
+ * The meta object literal for the '<em><b>Locations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_CONTROLLER__LOCATIONS = eINSTANCE.getOpenStackController_Locations();
+
+ /**
+ * The meta object literal for the '<em><b>Vm Types</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_CONTROLLER__VM_TYPES = eINSTANCE.getOpenStackController_VmTypes();
+
+ /**
+ * The meta object literal for the '<em><b>Users</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_CONTROLLER__USERS = eINSTANCE.getOpenStackController_Users();
+
+ /**
+ * The meta object literal for the '<em><b>Upload Openstack Configuration</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation OPEN_STACK_CONTROLLER___UPLOAD_OPENSTACK_CONFIGURATION__JSONOBJECT_OPENSTACKLOCATION = eINSTANCE.getOpenStackController__UploadOpenstackConfiguration__JSONObject_OpenStackLocation();
+
+ }
+
+} //OpenstackPackage
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerAlarm.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerAlarm.java
new file mode 100644
index 0000000..87b9c11
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerAlarm.java
@@ -0,0 +1,330 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.openecomp.ncomp.core.NamedEntity;
+import java.util.Date;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Alarm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTimestamp <em>Timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getEnabled <em>Enabled</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState <em>State</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState_timestamp <em>State timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getAlarm_actions <em>Alarm actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getOk_actions <em>Ok actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getInsufficient_data_actions <em>Insufficient data actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getRepeat_actions <em>Repeat actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTime_constraints <em>Time constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CeilometerAlarm extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User id</em>' attribute.
+ * @see #setUser_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_User_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getUser_id <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User id</em>' attribute.
+ * @see #getUser_id()
+ * @generated
+ */
+ void setUser_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Timestamp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Timestamp</em>' attribute.
+ * @see #setTimestamp(Date)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Timestamp()
+ * @model unique="false"
+ * @generated
+ */
+ Date getTimestamp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTimestamp <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Timestamp</em>' attribute.
+ * @see #getTimestamp()
+ * @generated
+ */
+ void setTimestamp(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Enabled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enabled</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enabled</em>' attribute.
+ * @see #setEnabled(Boolean)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Enabled()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getEnabled();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getEnabled <em>Enabled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enabled</em>' attribute.
+ * @see #getEnabled()
+ * @generated
+ */
+ void setEnabled(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>State</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State</em>' attribute.
+ * @see #setState(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_State()
+ * @model unique="false"
+ * @generated
+ */
+ String getState();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>State</em>' attribute.
+ * @see #getState()
+ * @generated
+ */
+ void setState(String value);
+
+ /**
+ * Returns the value of the '<em><b>State timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>State timestamp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State timestamp</em>' attribute.
+ * @see #setState_timestamp(Date)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_State_timestamp()
+ * @model unique="false"
+ * @generated
+ */
+ Date getState_timestamp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState_timestamp <em>State timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>State timestamp</em>' attribute.
+ * @see #getState_timestamp()
+ * @generated
+ */
+ void setState_timestamp(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Description()
+ * @model unique="false"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Alarm actions</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Alarm actions</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Alarm actions</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Alarm_actions()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getAlarm_actions();
+
+ /**
+ * Returns the value of the '<em><b>Ok actions</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ok actions</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ok actions</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Ok_actions()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getOk_actions();
+
+ /**
+ * Returns the value of the '<em><b>Insufficient data actions</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Insufficient data actions</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Insufficient data actions</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Insufficient_data_actions()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getInsufficient_data_actions();
+
+ /**
+ * Returns the value of the '<em><b>Repeat actions</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Repeat actions</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Repeat actions</em>' attribute.
+ * @see #setRepeat_actions(Boolean)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Repeat_actions()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getRepeat_actions();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getRepeat_actions <em>Repeat actions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repeat actions</em>' attribute.
+ * @see #getRepeat_actions()
+ * @generated
+ */
+ void setRepeat_actions(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Time constraints</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Time constraints</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time constraints</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerAlarm_Time_constraints()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getTime_constraints();
+
+} // CeilometerAlarm
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFactory.java
new file mode 100644
index 0000000..e06bbcb
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFactory.java
@@ -0,0 +1,144 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage
+ * @generated
+ */
+public interface CeilometerFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CeilometerFactory eINSTANCE = org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Threshold Alarm</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Threshold Alarm</em>'.
+ * @generated
+ */
+ CeilometerThresholdAlarm createCeilometerThresholdAlarm();
+
+ /**
+ * Returns a new object of class '<em>Threshold Alarm Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Threshold Alarm Rule</em>'.
+ * @generated
+ */
+ CeilometerThresholdAlarmRule createCeilometerThresholdAlarmRule();
+
+ /**
+ * Returns a new object of class '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource</em>'.
+ * @generated
+ */
+ CeilometerResource createCeilometerResource();
+
+ /**
+ * Returns a new object of class '<em>Meter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Meter</em>'.
+ * @generated
+ */
+ CeilometerMeter createCeilometerMeter();
+
+ /**
+ * Returns a new object of class '<em>Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query</em>'.
+ * @generated
+ */
+ CeilometerQuery createCeilometerQuery();
+
+ /**
+ * Returns a new object of class '<em>Filter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Filter</em>'.
+ * @generated
+ */
+ CeilometerFilter createCeilometerFilter();
+
+ /**
+ * Returns a new object of class '<em>Ordered By</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ordered By</em>'.
+ * @generated
+ */
+ CeilometerOrderedBy createCeilometerOrderedBy();
+
+ /**
+ * Returns a new object of class '<em>Create Alarm Request</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Create Alarm Request</em>'.
+ * @generated
+ */
+ CreateAlarmRequest createCreateAlarmRequest();
+
+ /**
+ * Returns a new object of class '<em>Sample Request</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sample Request</em>'.
+ * @generated
+ */
+ SampleRequest createSampleRequest();
+
+ /**
+ * Returns a new object of class '<em>Sample</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sample</em>'.
+ * @generated
+ */
+ CeilometerSample createCeilometerSample();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ CeilometerPackage getCeilometerPackage();
+
+} //CeilometerFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFilter.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFilter.java
new file mode 100644
index 0000000..9086e37
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerFilter.java
@@ -0,0 +1,144 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Filter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getValue <em>Value</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getField <em>Field</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getFilters <em>Filters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerFilter()
+ * @model
+ * @generated
+ */
+public interface CeilometerFilter extends EObject {
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation</em>' attribute.
+ * @see #setOperation(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerFilter_Operation()
+ * @model unique="false"
+ * @generated
+ */
+ String getOperation();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getOperation <em>Operation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation</em>' attribute.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerFilter_Value()
+ * @model unique="false"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Field</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Field</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Field</em>' attribute.
+ * @see #setField(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerFilter_Field()
+ * @model unique="false"
+ * @generated
+ */
+ String getField();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getField <em>Field</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Field</em>' attribute.
+ * @see #getField()
+ * @generated
+ */
+ void setField(String value);
+
+ /**
+ * Returns the value of the '<em><b>Filters</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Filters</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Filters</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerFilter_Filters()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CeilometerFilter> getFilters();
+
+} // CeilometerFilter
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerMeter.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerMeter.java
new file mode 100644
index 0000000..d083a75
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerMeter.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Meter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerMeter()
+ * @model
+ * @generated
+ */
+public interface CeilometerMeter extends EObject {
+} // CeilometerMeter
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerOrderedBy.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerOrderedBy.java
new file mode 100644
index 0000000..c0ed74a
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerOrderedBy.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ordered By</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getField <em>Field</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getDirection <em>Direction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerOrderedBy()
+ * @model
+ * @generated
+ */
+public interface CeilometerOrderedBy extends EObject {
+ /**
+ * Returns the value of the '<em><b>Field</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Field</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Field</em>' attribute.
+ * @see #setField(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerOrderedBy_Field()
+ * @model unique="false"
+ * @generated
+ */
+ String getField();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getField <em>Field</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Field</em>' attribute.
+ * @see #getField()
+ * @generated
+ */
+ void setField(String value);
+
+ /**
+ * Returns the value of the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Direction</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Direction</em>' attribute.
+ * @see #setDirection(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerOrderedBy_Direction()
+ * @model unique="false"
+ * @generated
+ */
+ String getDirection();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getDirection <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Direction</em>' attribute.
+ * @see #getDirection()
+ * @generated
+ */
+ void setDirection(String value);
+
+} // CeilometerOrderedBy
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerPackage.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerPackage.java
new file mode 100644
index 0000000..f6f33e5
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerPackage.java
@@ -0,0 +1,2557 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/ncomp-openstack-model/src/main/xcore-gen' basePackage='org.openecomp.ncomp.openstack'"
+ * annotation="http://www.eclipse.org/emf/2011/Xcore openstack='http://openecomp.org/sirius/openstack'"
+ * @generated
+ */
+public interface CeilometerPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "ceilometer";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.ncomp.openstack.ceilometer";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "ceilometer";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CeilometerPackage eINSTANCE = org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerServiceImpl <em>Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerServiceImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerService()
+ * @generated
+ */
+ int CEILOMETER_SERVICE = 0;
+
+ /**
+ * The feature id for the '<em><b>Ceilometer Available Capabilites</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES = 0;
+
+ /**
+ * The feature id for the '<em><b>Ceilometer Unavailable Capabilites</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES = 1;
+
+ /**
+ * The number of structural features of the '<em>Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE_FEATURE_COUNT = 2;
+
+ /**
+ * The operation id for the '<em>Create Alarm</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE___CREATE_ALARM__CREATEALARMREQUEST = 0;
+
+ /**
+ * The operation id for the '<em>Delete Alarm</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE___DELETE_ALARM__STRING_STRING = 1;
+
+ /**
+ * The operation id for the '<em>Create Alarm</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE___CREATE_ALARM__SAMPLEREQUEST = 2;
+
+ /**
+ * The number of operations of the '<em>Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SERVICE_OPERATION_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl <em>Project</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerProject()
+ * @generated
+ */
+ int CEILOMETER_PROJECT = 1;
+
+ /**
+ * The feature id for the '<em><b>Alarms</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_PROJECT__ALARMS = 0;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_PROJECT__RESOURCES = 1;
+
+ /**
+ * The feature id for the '<em><b>Meters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_PROJECT__METERS = 2;
+
+ /**
+ * The number of structural features of the '<em>Project</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_PROJECT_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Project</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_PROJECT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl <em>Alarm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerAlarm()
+ * @generated
+ */
+ int CEILOMETER_ALARM = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__LAST_POLLED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__LAST_CHANGED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__CREATED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__ID = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__USER_ID = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__TIMESTAMP = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Enabled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__ENABLED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__STATE = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>State timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__STATE_TIMESTAMP = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__DESCRIPTION = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Alarm actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__ALARM_ACTIONS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Ok actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__OK_ACTIONS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Insufficient data actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Repeat actions</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__REPEAT_ACTIONS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Time constraints</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM__TIME_CONSTRAINTS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Alarm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM_FEATURE_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 12;
+
+ /**
+ * The number of operations of the '<em>Alarm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ALARM_OPERATION_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmImpl <em>Threshold Alarm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerThresholdAlarm()
+ * @generated
+ */
+ int CEILOMETER_THRESHOLD_ALARM = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__NAME = CEILOMETER_ALARM__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__LAST_POLLED = CEILOMETER_ALARM__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__LAST_CHANGED = CEILOMETER_ALARM__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__CREATED = CEILOMETER_ALARM__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__ID = CEILOMETER_ALARM__ID;
+
+ /**
+ * The feature id for the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__USER_ID = CEILOMETER_ALARM__USER_ID;
+
+ /**
+ * The feature id for the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__TIMESTAMP = CEILOMETER_ALARM__TIMESTAMP;
+
+ /**
+ * The feature id for the '<em><b>Enabled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__ENABLED = CEILOMETER_ALARM__ENABLED;
+
+ /**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__STATE = CEILOMETER_ALARM__STATE;
+
+ /**
+ * The feature id for the '<em><b>State timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__STATE_TIMESTAMP = CEILOMETER_ALARM__STATE_TIMESTAMP;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__DESCRIPTION = CEILOMETER_ALARM__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Alarm actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__ALARM_ACTIONS = CEILOMETER_ALARM__ALARM_ACTIONS;
+
+ /**
+ * The feature id for the '<em><b>Ok actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__OK_ACTIONS = CEILOMETER_ALARM__OK_ACTIONS;
+
+ /**
+ * The feature id for the '<em><b>Insufficient data actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__INSUFFICIENT_DATA_ACTIONS = CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS;
+
+ /**
+ * The feature id for the '<em><b>Repeat actions</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__REPEAT_ACTIONS = CEILOMETER_ALARM__REPEAT_ACTIONS;
+
+ /**
+ * The feature id for the '<em><b>Time constraints</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__TIME_CONSTRAINTS = CEILOMETER_ALARM__TIME_CONSTRAINTS;
+
+ /**
+ * The feature id for the '<em><b>Threshold rule</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE = CEILOMETER_ALARM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Threshold Alarm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_FEATURE_COUNT = CEILOMETER_ALARM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Threshold Alarm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_OPERATION_COUNT = CEILOMETER_ALARM_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl <em>Threshold Alarm Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE = 4;
+
+ /**
+ * The feature id for the '<em><b>Meter name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Evaluation periods</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS = 1;
+
+ /**
+ * The feature id for the '<em><b>Period</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD = 2;
+
+ /**
+ * The feature id for the '<em><b>Statistic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC = 3;
+
+ /**
+ * The feature id for the '<em><b>Threshold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD = 4;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__QUERY = 5;
+
+ /**
+ * The feature id for the '<em><b>Comparison operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR = 6;
+
+ /**
+ * The feature id for the '<em><b>Exclude outliers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS = 7;
+
+ /**
+ * The number of structural features of the '<em>Threshold Alarm Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE_FEATURE_COUNT = 8;
+
+ /**
+ * The number of operations of the '<em>Threshold Alarm Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_THRESHOLD_ALARM_RULE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerResource()
+ * @generated
+ */
+ int CEILOMETER_RESOURCE = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__USER_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Project id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__PROJECT_ID = 2;
+
+ /**
+ * The feature id for the '<em><b>First sample timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP = 3;
+
+ /**
+ * The feature id for the '<em><b>Last sample timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP = 4;
+
+ /**
+ * The feature id for the '<em><b>Links</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__LINKS = 5;
+
+ /**
+ * The feature id for the '<em><b>Metadata</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE__METADATA = 6;
+
+ /**
+ * The number of structural features of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE_FEATURE_COUNT = 7;
+
+ /**
+ * The number of operations of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_RESOURCE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerMeterImpl <em>Meter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerMeterImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerMeter()
+ * @generated
+ */
+ int CEILOMETER_METER = 6;
+
+ /**
+ * The number of structural features of the '<em>Meter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_METER_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Meter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_METER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl <em>Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerQuery()
+ * @generated
+ */
+ int CEILOMETER_QUERY = 7;
+
+ /**
+ * The feature id for the '<em><b>Filter</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_QUERY__FILTER = 0;
+
+ /**
+ * The feature id for the '<em><b>Orderby</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_QUERY__ORDERBY = 1;
+
+ /**
+ * The feature id for the '<em><b>Limit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_QUERY__LIMIT = 2;
+
+ /**
+ * The number of structural features of the '<em>Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_QUERY_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_QUERY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl <em>Filter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerFilter()
+ * @generated
+ */
+ int CEILOMETER_FILTER = 8;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_FILTER__OPERATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_FILTER__VALUE = 1;
+
+ /**
+ * The feature id for the '<em><b>Field</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_FILTER__FIELD = 2;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_FILTER__FILTERS = 3;
+
+ /**
+ * The number of structural features of the '<em>Filter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_FILTER_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Filter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_FILTER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerOrderedByImpl <em>Ordered By</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerOrderedByImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerOrderedBy()
+ * @generated
+ */
+ int CEILOMETER_ORDERED_BY = 9;
+
+ /**
+ * The feature id for the '<em><b>Field</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ORDERED_BY__FIELD = 0;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ORDERED_BY__DIRECTION = 1;
+
+ /**
+ * The number of structural features of the '<em>Ordered By</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ORDERED_BY_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Ordered By</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_ORDERED_BY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerRequestImpl <em>Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerRequestImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerRequest()
+ * @generated
+ */
+ int CEILOMETER_REQUEST = 10;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_REQUEST__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The number of structural features of the '<em>Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_REQUEST_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_REQUEST_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CreateAlarmRequestImpl <em>Create Alarm Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CreateAlarmRequestImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCreateAlarmRequest()
+ * @generated
+ */
+ int CREATE_ALARM_REQUEST = 11;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ALARM_REQUEST__PROJECT_NAME = CEILOMETER_REQUEST__PROJECT_NAME;
+
+ /**
+ * The number of structural features of the '<em>Create Alarm Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ALARM_REQUEST_FEATURE_COUNT = CEILOMETER_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Create Alarm Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ALARM_REQUEST_OPERATION_COUNT = CEILOMETER_REQUEST_OPERATION_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.SampleRequestImpl <em>Sample Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.SampleRequestImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getSampleRequest()
+ * @generated
+ */
+ int SAMPLE_REQUEST = 12;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAMPLE_REQUEST__PROJECT_NAME = CEILOMETER_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAMPLE_REQUEST__QUERY = CEILOMETER_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Sample Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAMPLE_REQUEST_FEATURE_COUNT = CEILOMETER_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Sample Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAMPLE_REQUEST_OPERATION_COUNT = CEILOMETER_REQUEST_OPERATION_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl <em>Sample</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerSample()
+ * @generated
+ */
+ int CEILOMETER_SAMPLE = 13;
+
+ /**
+ * The feature id for the '<em><b>Counter name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__COUNTER_NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__USER_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Resource id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__RESOURCE_ID = 2;
+
+ /**
+ * The feature id for the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__TIMESTAMP = 3;
+
+ /**
+ * The feature id for the '<em><b>Recorded at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__RECORDED_AT = 4;
+
+ /**
+ * The feature id for the '<em><b>Message id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__MESSAGE_ID = 5;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__SOURCE = 6;
+
+ /**
+ * The feature id for the '<em><b>Counter unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__COUNTER_UNIT = 7;
+
+ /**
+ * The feature id for the '<em><b>Counter volume</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__COUNTER_VOLUME = 8;
+
+ /**
+ * The feature id for the '<em><b>Project id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE__PROJECT_ID = 9;
+
+ /**
+ * The number of structural features of the '<em>Sample</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE_FEATURE_COUNT = 10;
+
+ /**
+ * The number of operations of the '<em>Sample</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CEILOMETER_SAMPLE_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Service</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService
+ * @generated
+ */
+ EClass getCeilometerService();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#getCeilometerAvailableCapabilites <em>Ceilometer Available Capabilites</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Ceilometer Available Capabilites</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService#getCeilometerAvailableCapabilites()
+ * @see #getCeilometerService()
+ * @generated
+ */
+ EAttribute getCeilometerService_CeilometerAvailableCapabilites();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#getCeilometerUnavailableCapabilites <em>Ceilometer Unavailable Capabilites</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Ceilometer Unavailable Capabilites</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService#getCeilometerUnavailableCapabilites()
+ * @see #getCeilometerService()
+ * @generated
+ */
+ EAttribute getCeilometerService_CeilometerUnavailableCapabilites();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#createAlarm(org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest) <em>Create Alarm</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Alarm</em>' operation.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService#createAlarm(org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest)
+ * @generated
+ */
+ EOperation getCeilometerService__CreateAlarm__CreateAlarmRequest();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#deleteAlarm(java.lang.String, java.lang.String) <em>Delete Alarm</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete Alarm</em>' operation.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService#deleteAlarm(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getCeilometerService__DeleteAlarm__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#createAlarm(org.openecomp.ncomp.openstack.ceilometer.SampleRequest) <em>Create Alarm</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Alarm</em>' operation.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService#createAlarm(org.openecomp.ncomp.openstack.ceilometer.SampleRequest)
+ * @generated
+ */
+ EOperation getCeilometerService__CreateAlarm__SampleRequest();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject <em>Project</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Project</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerProject
+ * @generated
+ */
+ EClass getCeilometerProject();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getAlarms <em>Alarms</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Alarms</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getAlarms()
+ * @see #getCeilometerProject()
+ * @generated
+ */
+ EReference getCeilometerProject_Alarms();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getResources <em>Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Resources</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getResources()
+ * @see #getCeilometerProject()
+ * @generated
+ */
+ EReference getCeilometerProject_Resources();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getMeters <em>Meters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Meters</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getMeters()
+ * @see #getCeilometerProject()
+ * @generated
+ */
+ EReference getCeilometerProject_Meters();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm <em>Alarm</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Alarm</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm
+ * @generated
+ */
+ EClass getCeilometerAlarm();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getId()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getUser_id <em>User id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getUser_id()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_User_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTimestamp <em>Timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Timestamp</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTimestamp()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Timestamp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getEnabled <em>Enabled</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enabled</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getEnabled()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Enabled();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState <em>State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>State</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_State();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState_timestamp <em>State timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>State timestamp</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getState_timestamp()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_State_timestamp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getDescription()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Description();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getAlarm_actions <em>Alarm actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Alarm actions</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getAlarm_actions()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Alarm_actions();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getOk_actions <em>Ok actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Ok actions</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getOk_actions()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Ok_actions();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getInsufficient_data_actions <em>Insufficient data actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Insufficient data actions</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getInsufficient_data_actions()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Insufficient_data_actions();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getRepeat_actions <em>Repeat actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repeat actions</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getRepeat_actions()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Repeat_actions();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTime_constraints <em>Time constraints</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Time constraints</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm#getTime_constraints()
+ * @see #getCeilometerAlarm()
+ * @generated
+ */
+ EAttribute getCeilometerAlarm_Time_constraints();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm <em>Threshold Alarm</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Threshold Alarm</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm
+ * @generated
+ */
+ EClass getCeilometerThresholdAlarm();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm#getThreshold_rule <em>Threshold rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Threshold rule</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm#getThreshold_rule()
+ * @see #getCeilometerThresholdAlarm()
+ * @generated
+ */
+ EReference getCeilometerThresholdAlarm_Threshold_rule();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule <em>Threshold Alarm Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Threshold Alarm Rule</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule
+ * @generated
+ */
+ EClass getCeilometerThresholdAlarmRule();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getMeter_name <em>Meter name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Meter name</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getMeter_name()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Meter_name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getEvaluation_periods <em>Evaluation periods</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Evaluation periods</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getEvaluation_periods()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Evaluation_periods();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getPeriod <em>Period</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Period</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getPeriod()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Period();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getStatistic <em>Statistic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Statistic</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getStatistic()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Statistic();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getThreshold <em>Threshold</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Threshold</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getThreshold()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Threshold();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Query</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getQuery()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Query();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getComparison_operator <em>Comparison operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Comparison operator</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getComparison_operator()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Comparison_operator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getExclude_outliers <em>Exclude outliers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclude outliers</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getExclude_outliers()
+ * @see #getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EAttribute getCeilometerThresholdAlarmRule_Exclude_outliers();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource
+ * @generated
+ */
+ EClass getCeilometerResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getId()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EAttribute getCeilometerResource_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getUser_id <em>User id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getUser_id()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EAttribute getCeilometerResource_User_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getProject_id <em>Project id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Project id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getProject_id()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EAttribute getCeilometerResource_Project_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getFirst_sample_timestamp <em>First sample timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>First sample timestamp</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getFirst_sample_timestamp()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EAttribute getCeilometerResource_First_sample_timestamp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLast_sample_timestamp <em>Last sample timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Last sample timestamp</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLast_sample_timestamp()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EAttribute getCeilometerResource_Last_sample_timestamp();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLinks <em>Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Links</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLinks()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EReference getCeilometerResource_Links();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getMetadata <em>Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Metadata</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getMetadata()
+ * @see #getCeilometerResource()
+ * @generated
+ */
+ EReference getCeilometerResource_Metadata();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter <em>Meter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Meter</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter
+ * @generated
+ */
+ EClass getCeilometerMeter();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery
+ * @generated
+ */
+ EClass getCeilometerQuery();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getFilter <em>Filter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Filter</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getFilter()
+ * @see #getCeilometerQuery()
+ * @generated
+ */
+ EReference getCeilometerQuery_Filter();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getOrderby <em>Orderby</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Orderby</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getOrderby()
+ * @see #getCeilometerQuery()
+ * @generated
+ */
+ EReference getCeilometerQuery_Orderby();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getLimit <em>Limit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Limit</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getLimit()
+ * @see #getCeilometerQuery()
+ * @generated
+ */
+ EAttribute getCeilometerQuery_Limit();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter <em>Filter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Filter</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter
+ * @generated
+ */
+ EClass getCeilometerFilter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operation</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getOperation()
+ * @see #getCeilometerFilter()
+ * @generated
+ */
+ EAttribute getCeilometerFilter_Operation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getValue()
+ * @see #getCeilometerFilter()
+ * @generated
+ */
+ EAttribute getCeilometerFilter_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getField <em>Field</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Field</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getField()
+ * @see #getCeilometerFilter()
+ * @generated
+ */
+ EAttribute getCeilometerFilter_Field();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getFilters <em>Filters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Filters</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter#getFilters()
+ * @see #getCeilometerFilter()
+ * @generated
+ */
+ EReference getCeilometerFilter_Filters();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy <em>Ordered By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ordered By</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy
+ * @generated
+ */
+ EClass getCeilometerOrderedBy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getField <em>Field</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Field</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getField()
+ * @see #getCeilometerOrderedBy()
+ * @generated
+ */
+ EAttribute getCeilometerOrderedBy_Field();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getDirection <em>Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Direction</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy#getDirection()
+ * @see #getCeilometerOrderedBy()
+ * @generated
+ */
+ EAttribute getCeilometerOrderedBy_Direction();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerRequest <em>Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Request</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerRequest
+ * @generated
+ */
+ EClass getCeilometerRequest();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest <em>Create Alarm Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Create Alarm Request</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest
+ * @generated
+ */
+ EClass getCreateAlarmRequest();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.SampleRequest <em>Sample Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sample Request</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.SampleRequest
+ * @generated
+ */
+ EClass getSampleRequest();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.ceilometer.SampleRequest#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Query</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.SampleRequest#getQuery()
+ * @see #getSampleRequest()
+ * @generated
+ */
+ EReference getSampleRequest_Query();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample <em>Sample</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sample</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample
+ * @generated
+ */
+ EClass getCeilometerSample();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_name <em>Counter name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Counter name</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_name()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Counter_name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getUser_id <em>User id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getUser_id()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_User_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getResource_id <em>Resource id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Resource id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getResource_id()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Resource_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getTimestamp <em>Timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Timestamp</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getTimestamp()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Timestamp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getRecorded_at <em>Recorded at</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Recorded at</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getRecorded_at()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Recorded_at();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getMessage_id <em>Message id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Message id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getMessage_id()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Message_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Source</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getSource()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Source();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_unit <em>Counter unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Counter unit</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_unit()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Counter_unit();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_volume <em>Counter volume</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Counter volume</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_volume()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Counter_volume();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getProject_id <em>Project id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Project id</em>'.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getProject_id()
+ * @see #getCeilometerSample()
+ * @generated
+ */
+ EAttribute getCeilometerSample_Project_id();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ CeilometerFactory getCeilometerFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerServiceImpl <em>Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerServiceImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerService()
+ * @generated
+ */
+ EClass CEILOMETER_SERVICE = eINSTANCE.getCeilometerService();
+
+ /**
+ * The meta object literal for the '<em><b>Ceilometer Available Capabilites</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES = eINSTANCE.getCeilometerService_CeilometerAvailableCapabilites();
+
+ /**
+ * The meta object literal for the '<em><b>Ceilometer Unavailable Capabilites</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES = eINSTANCE.getCeilometerService_CeilometerUnavailableCapabilites();
+
+ /**
+ * The meta object literal for the '<em><b>Create Alarm</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation CEILOMETER_SERVICE___CREATE_ALARM__CREATEALARMREQUEST = eINSTANCE.getCeilometerService__CreateAlarm__CreateAlarmRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Alarm</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation CEILOMETER_SERVICE___DELETE_ALARM__STRING_STRING = eINSTANCE.getCeilometerService__DeleteAlarm__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Create Alarm</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation CEILOMETER_SERVICE___CREATE_ALARM__SAMPLEREQUEST = eINSTANCE.getCeilometerService__CreateAlarm__SampleRequest();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl <em>Project</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerProject()
+ * @generated
+ */
+ EClass CEILOMETER_PROJECT = eINSTANCE.getCeilometerProject();
+
+ /**
+ * The meta object literal for the '<em><b>Alarms</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_PROJECT__ALARMS = eINSTANCE.getCeilometerProject_Alarms();
+
+ /**
+ * The meta object literal for the '<em><b>Resources</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_PROJECT__RESOURCES = eINSTANCE.getCeilometerProject_Resources();
+
+ /**
+ * The meta object literal for the '<em><b>Meters</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_PROJECT__METERS = eINSTANCE.getCeilometerProject_Meters();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl <em>Alarm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerAlarm()
+ * @generated
+ */
+ EClass CEILOMETER_ALARM = eINSTANCE.getCeilometerAlarm();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__ID = eINSTANCE.getCeilometerAlarm_Id();
+
+ /**
+ * The meta object literal for the '<em><b>User id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__USER_ID = eINSTANCE.getCeilometerAlarm_User_id();
+
+ /**
+ * The meta object literal for the '<em><b>Timestamp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__TIMESTAMP = eINSTANCE.getCeilometerAlarm_Timestamp();
+
+ /**
+ * The meta object literal for the '<em><b>Enabled</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__ENABLED = eINSTANCE.getCeilometerAlarm_Enabled();
+
+ /**
+ * The meta object literal for the '<em><b>State</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__STATE = eINSTANCE.getCeilometerAlarm_State();
+
+ /**
+ * The meta object literal for the '<em><b>State timestamp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__STATE_TIMESTAMP = eINSTANCE.getCeilometerAlarm_State_timestamp();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__DESCRIPTION = eINSTANCE.getCeilometerAlarm_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Alarm actions</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__ALARM_ACTIONS = eINSTANCE.getCeilometerAlarm_Alarm_actions();
+
+ /**
+ * The meta object literal for the '<em><b>Ok actions</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__OK_ACTIONS = eINSTANCE.getCeilometerAlarm_Ok_actions();
+
+ /**
+ * The meta object literal for the '<em><b>Insufficient data actions</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS = eINSTANCE.getCeilometerAlarm_Insufficient_data_actions();
+
+ /**
+ * The meta object literal for the '<em><b>Repeat actions</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__REPEAT_ACTIONS = eINSTANCE.getCeilometerAlarm_Repeat_actions();
+
+ /**
+ * The meta object literal for the '<em><b>Time constraints</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ALARM__TIME_CONSTRAINTS = eINSTANCE.getCeilometerAlarm_Time_constraints();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmImpl <em>Threshold Alarm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerThresholdAlarm()
+ * @generated
+ */
+ EClass CEILOMETER_THRESHOLD_ALARM = eINSTANCE.getCeilometerThresholdAlarm();
+
+ /**
+ * The meta object literal for the '<em><b>Threshold rule</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE = eINSTANCE.getCeilometerThresholdAlarm_Threshold_rule();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl <em>Threshold Alarm Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerThresholdAlarmRule()
+ * @generated
+ */
+ EClass CEILOMETER_THRESHOLD_ALARM_RULE = eINSTANCE.getCeilometerThresholdAlarmRule();
+
+ /**
+ * The meta object literal for the '<em><b>Meter name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME = eINSTANCE.getCeilometerThresholdAlarmRule_Meter_name();
+
+ /**
+ * The meta object literal for the '<em><b>Evaluation periods</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS = eINSTANCE.getCeilometerThresholdAlarmRule_Evaluation_periods();
+
+ /**
+ * The meta object literal for the '<em><b>Period</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD = eINSTANCE.getCeilometerThresholdAlarmRule_Period();
+
+ /**
+ * The meta object literal for the '<em><b>Statistic</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC = eINSTANCE.getCeilometerThresholdAlarmRule_Statistic();
+
+ /**
+ * The meta object literal for the '<em><b>Threshold</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD = eINSTANCE.getCeilometerThresholdAlarmRule_Threshold();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__QUERY = eINSTANCE.getCeilometerThresholdAlarmRule_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Comparison operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR = eINSTANCE.getCeilometerThresholdAlarmRule_Comparison_operator();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude outliers</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS = eINSTANCE.getCeilometerThresholdAlarmRule_Exclude_outliers();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerResource()
+ * @generated
+ */
+ EClass CEILOMETER_RESOURCE = eINSTANCE.getCeilometerResource();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_RESOURCE__ID = eINSTANCE.getCeilometerResource_Id();
+
+ /**
+ * The meta object literal for the '<em><b>User id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_RESOURCE__USER_ID = eINSTANCE.getCeilometerResource_User_id();
+
+ /**
+ * The meta object literal for the '<em><b>Project id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_RESOURCE__PROJECT_ID = eINSTANCE.getCeilometerResource_Project_id();
+
+ /**
+ * The meta object literal for the '<em><b>First sample timestamp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP = eINSTANCE.getCeilometerResource_First_sample_timestamp();
+
+ /**
+ * The meta object literal for the '<em><b>Last sample timestamp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP = eINSTANCE.getCeilometerResource_Last_sample_timestamp();
+
+ /**
+ * The meta object literal for the '<em><b>Links</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_RESOURCE__LINKS = eINSTANCE.getCeilometerResource_Links();
+
+ /**
+ * The meta object literal for the '<em><b>Metadata</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_RESOURCE__METADATA = eINSTANCE.getCeilometerResource_Metadata();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerMeterImpl <em>Meter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerMeterImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerMeter()
+ * @generated
+ */
+ EClass CEILOMETER_METER = eINSTANCE.getCeilometerMeter();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl <em>Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerQuery()
+ * @generated
+ */
+ EClass CEILOMETER_QUERY = eINSTANCE.getCeilometerQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Filter</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_QUERY__FILTER = eINSTANCE.getCeilometerQuery_Filter();
+
+ /**
+ * The meta object literal for the '<em><b>Orderby</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_QUERY__ORDERBY = eINSTANCE.getCeilometerQuery_Orderby();
+
+ /**
+ * The meta object literal for the '<em><b>Limit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_QUERY__LIMIT = eINSTANCE.getCeilometerQuery_Limit();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl <em>Filter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerFilter()
+ * @generated
+ */
+ EClass CEILOMETER_FILTER = eINSTANCE.getCeilometerFilter();
+
+ /**
+ * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_FILTER__OPERATION = eINSTANCE.getCeilometerFilter_Operation();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_FILTER__VALUE = eINSTANCE.getCeilometerFilter_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Field</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_FILTER__FIELD = eINSTANCE.getCeilometerFilter_Field();
+
+ /**
+ * The meta object literal for the '<em><b>Filters</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CEILOMETER_FILTER__FILTERS = eINSTANCE.getCeilometerFilter_Filters();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerOrderedByImpl <em>Ordered By</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerOrderedByImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerOrderedBy()
+ * @generated
+ */
+ EClass CEILOMETER_ORDERED_BY = eINSTANCE.getCeilometerOrderedBy();
+
+ /**
+ * The meta object literal for the '<em><b>Field</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ORDERED_BY__FIELD = eINSTANCE.getCeilometerOrderedBy_Field();
+
+ /**
+ * The meta object literal for the '<em><b>Direction</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_ORDERED_BY__DIRECTION = eINSTANCE.getCeilometerOrderedBy_Direction();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerRequestImpl <em>Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerRequestImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerRequest()
+ * @generated
+ */
+ EClass CEILOMETER_REQUEST = eINSTANCE.getCeilometerRequest();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CreateAlarmRequestImpl <em>Create Alarm Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CreateAlarmRequestImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCreateAlarmRequest()
+ * @generated
+ */
+ EClass CREATE_ALARM_REQUEST = eINSTANCE.getCreateAlarmRequest();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.SampleRequestImpl <em>Sample Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.SampleRequestImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getSampleRequest()
+ * @generated
+ */
+ EClass SAMPLE_REQUEST = eINSTANCE.getSampleRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAMPLE_REQUEST__QUERY = eINSTANCE.getSampleRequest_Query();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl <em>Sample</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl
+ * @see org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerPackageImpl#getCeilometerSample()
+ * @generated
+ */
+ EClass CEILOMETER_SAMPLE = eINSTANCE.getCeilometerSample();
+
+ /**
+ * The meta object literal for the '<em><b>Counter name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__COUNTER_NAME = eINSTANCE.getCeilometerSample_Counter_name();
+
+ /**
+ * The meta object literal for the '<em><b>User id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__USER_ID = eINSTANCE.getCeilometerSample_User_id();
+
+ /**
+ * The meta object literal for the '<em><b>Resource id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__RESOURCE_ID = eINSTANCE.getCeilometerSample_Resource_id();
+
+ /**
+ * The meta object literal for the '<em><b>Timestamp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__TIMESTAMP = eINSTANCE.getCeilometerSample_Timestamp();
+
+ /**
+ * The meta object literal for the '<em><b>Recorded at</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__RECORDED_AT = eINSTANCE.getCeilometerSample_Recorded_at();
+
+ /**
+ * The meta object literal for the '<em><b>Message id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__MESSAGE_ID = eINSTANCE.getCeilometerSample_Message_id();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__SOURCE = eINSTANCE.getCeilometerSample_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Counter unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__COUNTER_UNIT = eINSTANCE.getCeilometerSample_Counter_unit();
+
+ /**
+ * The meta object literal for the '<em><b>Counter volume</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__COUNTER_VOLUME = eINSTANCE.getCeilometerSample_Counter_volume();
+
+ /**
+ * The meta object literal for the '<em><b>Project id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CEILOMETER_SAMPLE__PROJECT_ID = eINSTANCE.getCeilometerSample_Project_id();
+
+ }
+
+} //CeilometerPackage
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerProject.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerProject.java
new file mode 100644
index 0000000..caa451e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerProject.java
@@ -0,0 +1,97 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Project</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getAlarms <em>Alarms</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getResources <em>Resources</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject#getMeters <em>Meters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerProject()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CeilometerProject extends EObject {
+ /**
+ * Returns the value of the '<em><b>Alarms</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Alarms</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Alarms</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerProject_Alarms()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CeilometerAlarm> getAlarms();
+
+ /**
+ * Returns the value of the '<em><b>Resources</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resources</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resources</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerProject_Resources()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CeilometerResource> getResources();
+
+ /**
+ * Returns the value of the '<em><b>Meters</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meters</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Meters</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerProject_Meters()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CeilometerMeter> getMeters();
+
+} // CeilometerProject
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerQuery.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerQuery.java
new file mode 100644
index 0000000..0cc5b71
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerQuery.java
@@ -0,0 +1,107 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getFilter <em>Filter</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getOrderby <em>Orderby</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getLimit <em>Limit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerQuery()
+ * @model
+ * @generated
+ */
+public interface CeilometerQuery extends EObject {
+ /**
+ * Returns the value of the '<em><b>Filter</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Filter</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Filter</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerQuery_Filter()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CeilometerFilter> getFilter();
+
+ /**
+ * Returns the value of the '<em><b>Orderby</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Orderby</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Orderby</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerQuery_Orderby()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CeilometerOrderedBy> getOrderby();
+
+ /**
+ * Returns the value of the '<em><b>Limit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Limit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Limit</em>' attribute.
+ * @see #setLimit(Long)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerQuery_Limit()
+ * @model unique="false"
+ * @generated
+ */
+ Long getLimit();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery#getLimit <em>Limit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Limit</em>' attribute.
+ * @see #getLimit()
+ * @generated
+ */
+ void setLimit(Long value);
+
+} // CeilometerQuery
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerRequest.java
new file mode 100644
index 0000000..a36c8e5
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerRequest.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerRequest()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CeilometerRequest extends OpenStackRequest {
+} // CeilometerRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerResource.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerResource.java
new file mode 100644
index 0000000..fe0e704
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerResource.java
@@ -0,0 +1,227 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.openecomp.ncomp.openstack.compute.Link;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+import java.util.Date;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getProject_id <em>Project id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getFirst_sample_timestamp <em>First sample timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLast_sample_timestamp <em>Last sample timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLinks <em>Links</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getMetadata <em>Metadata</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource()
+ * @model
+ * @generated
+ */
+public interface CeilometerResource extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User id</em>' attribute.
+ * @see #setUser_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_User_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getUser_id <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User id</em>' attribute.
+ * @see #getUser_id()
+ * @generated
+ */
+ void setUser_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Project id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Project id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Project id</em>' attribute.
+ * @see #setProject_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_Project_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getProject_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getProject_id <em>Project id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Project id</em>' attribute.
+ * @see #getProject_id()
+ * @generated
+ */
+ void setProject_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>First sample timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>First sample timestamp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>First sample timestamp</em>' attribute.
+ * @see #setFirst_sample_timestamp(Date)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_First_sample_timestamp()
+ * @model unique="false"
+ * @generated
+ */
+ Date getFirst_sample_timestamp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getFirst_sample_timestamp <em>First sample timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>First sample timestamp</em>' attribute.
+ * @see #getFirst_sample_timestamp()
+ * @generated
+ */
+ void setFirst_sample_timestamp(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Last sample timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Last sample timestamp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Last sample timestamp</em>' attribute.
+ * @see #setLast_sample_timestamp(Date)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_Last_sample_timestamp()
+ * @model unique="false"
+ * @generated
+ */
+ Date getLast_sample_timestamp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getLast_sample_timestamp <em>Last sample timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Last sample timestamp</em>' attribute.
+ * @see #getLast_sample_timestamp()
+ * @generated
+ */
+ void setLast_sample_timestamp(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Links</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Link}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Links</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Links</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_Links()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Link> getLinks();
+
+ /**
+ * Returns the value of the '<em><b>Metadata</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Metadata</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Metadata</em>' containment reference.
+ * @see #setMetadata(Metadata)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerResource_Metadata()
+ * @model containment="true"
+ * @generated
+ */
+ Metadata getMetadata();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource#getMetadata <em>Metadata</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Metadata</em>' containment reference.
+ * @see #getMetadata()
+ * @generated
+ */
+ void setMetadata(Metadata value);
+} // CeilometerResource
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerSample.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerSample.java
new file mode 100644
index 0000000..c0abee2
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerSample.java
@@ -0,0 +1,316 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import java.util.Date;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sample</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_name <em>Counter name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getResource_id <em>Resource id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getTimestamp <em>Timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getRecorded_at <em>Recorded at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getMessage_id <em>Message id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getSource <em>Source</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_unit <em>Counter unit</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_volume <em>Counter volume</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getProject_id <em>Project id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample()
+ * @model
+ * @generated
+ */
+public interface CeilometerSample extends EObject {
+ /**
+ * Returns the value of the '<em><b>Counter name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Counter name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Counter name</em>' attribute.
+ * @see #setCounter_name(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Counter_name()
+ * @model unique="false"
+ * @generated
+ */
+ String getCounter_name();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_name <em>Counter name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Counter name</em>' attribute.
+ * @see #getCounter_name()
+ * @generated
+ */
+ void setCounter_name(String value);
+
+ /**
+ * Returns the value of the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User id</em>' attribute.
+ * @see #setUser_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_User_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getUser_id <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User id</em>' attribute.
+ * @see #getUser_id()
+ * @generated
+ */
+ void setUser_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Resource id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resource id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resource id</em>' attribute.
+ * @see #setResource_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Resource_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getResource_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getResource_id <em>Resource id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Resource id</em>' attribute.
+ * @see #getResource_id()
+ * @generated
+ */
+ void setResource_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Timestamp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Timestamp</em>' attribute.
+ * @see #setTimestamp(Date)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Timestamp()
+ * @model unique="false"
+ * @generated
+ */
+ Date getTimestamp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getTimestamp <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Timestamp</em>' attribute.
+ * @see #getTimestamp()
+ * @generated
+ */
+ void setTimestamp(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Recorded at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Recorded at</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Recorded at</em>' attribute.
+ * @see #setRecorded_at(Date)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Recorded_at()
+ * @model unique="false"
+ * @generated
+ */
+ Date getRecorded_at();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getRecorded_at <em>Recorded at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Recorded at</em>' attribute.
+ * @see #getRecorded_at()
+ * @generated
+ */
+ void setRecorded_at(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Message id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message id</em>' attribute.
+ * @see #setMessage_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Message_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getMessage_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getMessage_id <em>Message id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message id</em>' attribute.
+ * @see #getMessage_id()
+ * @generated
+ */
+ void setMessage_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source</em>' attribute.
+ * @see #setSource(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Source()
+ * @model unique="false"
+ * @generated
+ */
+ String getSource();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getSource <em>Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source</em>' attribute.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(String value);
+
+ /**
+ * Returns the value of the '<em><b>Counter unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Counter unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Counter unit</em>' attribute.
+ * @see #setCounter_unit(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Counter_unit()
+ * @model unique="false"
+ * @generated
+ */
+ String getCounter_unit();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_unit <em>Counter unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Counter unit</em>' attribute.
+ * @see #getCounter_unit()
+ * @generated
+ */
+ void setCounter_unit(String value);
+
+ /**
+ * Returns the value of the '<em><b>Counter volume</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Counter volume</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Counter volume</em>' attribute.
+ * @see #setCounter_volume(double)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Counter_volume()
+ * @model unique="false"
+ * @generated
+ */
+ double getCounter_volume();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getCounter_volume <em>Counter volume</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Counter volume</em>' attribute.
+ * @see #getCounter_volume()
+ * @generated
+ */
+ void setCounter_volume(double value);
+
+ /**
+ * Returns the value of the '<em><b>Project id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Project id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Project id</em>' attribute.
+ * @see #setProject_id(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerSample_Project_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getProject_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample#getProject_id <em>Project id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Project id</em>' attribute.
+ * @see #getProject_id()
+ * @generated
+ */
+ void setProject_id(String value);
+
+} // CeilometerSample
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerService.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerService.java
new file mode 100644
index 0000000..4133b4b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerService.java
@@ -0,0 +1,103 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#getCeilometerAvailableCapabilites <em>Ceilometer Available Capabilites</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService#getCeilometerUnavailableCapabilites <em>Ceilometer Unavailable Capabilites</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerService()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CeilometerService extends EObject {
+ /**
+ * Returns the value of the '<em><b>Ceilometer Available Capabilites</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ceilometer Available Capabilites</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ceilometer Available Capabilites</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerService_CeilometerAvailableCapabilites()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getCeilometerAvailableCapabilites();
+
+ /**
+ * Returns the value of the '<em><b>Ceilometer Unavailable Capabilites</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ceilometer Unavailable Capabilites</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ceilometer Unavailable Capabilites</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerService_CeilometerUnavailableCapabilites()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getCeilometerUnavailableCapabilites();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" requestUnique="false"
+ * @generated
+ */
+ CeilometerAlarm createAlarm(CreateAlarmRequest request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" nameUnique="false"
+ * @generated
+ */
+ void deleteAlarm(String projectName, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" requestUnique="false"
+ * @generated
+ */
+ EList<CeilometerSample> createAlarm(SampleRequest request);
+
+} // CeilometerService
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarm.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarm.java
new file mode 100644
index 0000000..983c0b3
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarm.java
@@ -0,0 +1,70 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Threshold Alarm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm#getThreshold_rule <em>Threshold rule</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarm()
+ * @model
+ * @generated
+ */
+public interface CeilometerThresholdAlarm extends CeilometerAlarm {
+
+ /**
+ * Returns the value of the '<em><b>Threshold rule</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Threshold rule</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Threshold rule</em>' containment reference.
+ * @see #setThreshold_rule(CeilometerThresholdAlarmRule)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarm_Threshold_rule()
+ * @model containment="true"
+ * @generated
+ */
+ CeilometerThresholdAlarmRule getThreshold_rule();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm#getThreshold_rule <em>Threshold rule</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Threshold rule</em>' containment reference.
+ * @see #getThreshold_rule()
+ * @generated
+ */
+ void setThreshold_rule(CeilometerThresholdAlarmRule value);
+} // CeilometerThresholdAlarm
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarmRule.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarmRule.java
new file mode 100644
index 0000000..4a50de6
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CeilometerThresholdAlarmRule.java
@@ -0,0 +1,252 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Threshold Alarm Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getMeter_name <em>Meter name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getEvaluation_periods <em>Evaluation periods</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getStatistic <em>Statistic</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getThreshold <em>Threshold</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getQuery <em>Query</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getComparison_operator <em>Comparison operator</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getExclude_outliers <em>Exclude outliers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule()
+ * @model
+ * @generated
+ */
+public interface CeilometerThresholdAlarmRule extends EObject {
+ /**
+ * Returns the value of the '<em><b>Meter name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meter name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Meter name</em>' attribute.
+ * @see #setMeter_name(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Meter_name()
+ * @model unique="false"
+ * @generated
+ */
+ String getMeter_name();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getMeter_name <em>Meter name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Meter name</em>' attribute.
+ * @see #getMeter_name()
+ * @generated
+ */
+ void setMeter_name(String value);
+
+ /**
+ * Returns the value of the '<em><b>Evaluation periods</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Evaluation periods</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Evaluation periods</em>' attribute.
+ * @see #setEvaluation_periods(Long)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Evaluation_periods()
+ * @model unique="false"
+ * @generated
+ */
+ Long getEvaluation_periods();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getEvaluation_periods <em>Evaluation periods</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Evaluation periods</em>' attribute.
+ * @see #getEvaluation_periods()
+ * @generated
+ */
+ void setEvaluation_periods(Long value);
+
+ /**
+ * Returns the value of the '<em><b>Period</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Period</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Period</em>' attribute.
+ * @see #setPeriod(Long)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Period()
+ * @model unique="false"
+ * @generated
+ */
+ Long getPeriod();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getPeriod <em>Period</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Period</em>' attribute.
+ * @see #getPeriod()
+ * @generated
+ */
+ void setPeriod(Long value);
+
+ /**
+ * Returns the value of the '<em><b>Statistic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statistic</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statistic</em>' attribute.
+ * @see #setStatistic(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Statistic()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatistic();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getStatistic <em>Statistic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Statistic</em>' attribute.
+ * @see #getStatistic()
+ * @generated
+ */
+ void setStatistic(String value);
+
+ /**
+ * Returns the value of the '<em><b>Threshold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Threshold</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Threshold</em>' attribute.
+ * @see #setThreshold(double)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Threshold()
+ * @model unique="false"
+ * @generated
+ */
+ double getThreshold();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getThreshold <em>Threshold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Threshold</em>' attribute.
+ * @see #getThreshold()
+ * @generated
+ */
+ void setThreshold(double value);
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Query()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getQuery();
+
+ /**
+ * Returns the value of the '<em><b>Comparison operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Comparison operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Comparison operator</em>' attribute.
+ * @see #setComparison_operator(String)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Comparison_operator()
+ * @model unique="false"
+ * @generated
+ */
+ String getComparison_operator();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getComparison_operator <em>Comparison operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Comparison operator</em>' attribute.
+ * @see #getComparison_operator()
+ * @generated
+ */
+ void setComparison_operator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Exclude outliers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exclude outliers</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exclude outliers</em>' attribute.
+ * @see #setExclude_outliers(Boolean)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCeilometerThresholdAlarmRule_Exclude_outliers()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getExclude_outliers();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule#getExclude_outliers <em>Exclude outliers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclude outliers</em>' attribute.
+ * @see #getExclude_outliers()
+ * @generated
+ */
+ void setExclude_outliers(Boolean value);
+
+} // CeilometerThresholdAlarmRule
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CreateAlarmRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CreateAlarmRequest.java
new file mode 100644
index 0000000..44e11b7
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/CreateAlarmRequest.java
@@ -0,0 +1,38 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Create Alarm Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getCreateAlarmRequest()
+ * @model
+ * @generated
+ */
+public interface CreateAlarmRequest extends CeilometerRequest {
+} // CreateAlarmRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/SampleRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/SampleRequest.java
new file mode 100644
index 0000000..47640b7
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/SampleRequest.java
@@ -0,0 +1,70 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sample Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.SampleRequest#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getSampleRequest()
+ * @model
+ * @generated
+ */
+public interface SampleRequest extends CeilometerRequest {
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' containment reference.
+ * @see #setQuery(CeilometerQuery)
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#getSampleRequest_Query()
+ * @model containment="true"
+ * @generated
+ */
+ CeilometerQuery getQuery();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.ceilometer.SampleRequest#getQuery <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' containment reference.
+ * @see #getQuery()
+ * @generated
+ */
+ void setQuery(CeilometerQuery value);
+
+} // SampleRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerAlarmImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerAlarmImpl.java
new file mode 100644
index 0000000..9e989b2
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerAlarmImpl.java
@@ -0,0 +1,708 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import java.util.Collection;
+import java.util.Date;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Alarm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getTimestamp <em>Timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getEnabled <em>Enabled</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getState <em>State</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getState_timestamp <em>State timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getAlarm_actions <em>Alarm actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getOk_actions <em>Ok actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getInsufficient_data_actions <em>Insufficient data actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getRepeat_actions <em>Repeat actions</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerAlarmImpl#getTime_constraints <em>Time constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class CeilometerAlarmImpl extends NamedEntityImpl implements CeilometerAlarm {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected String user_id = USER_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimestamp()
+ * @generated
+ * @ordered
+ */
+ protected static final Date TIMESTAMP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimestamp()
+ * @generated
+ * @ordered
+ */
+ protected Date timestamp = TIMESTAMP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEnabled() <em>Enabled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnabled()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ENABLED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnabled() <em>Enabled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnabled()
+ * @generated
+ * @ordered
+ */
+ protected Boolean enabled = ENABLED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected String state = STATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getState_timestamp() <em>State timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState_timestamp()
+ * @generated
+ * @ordered
+ */
+ protected static final Date STATE_TIMESTAMP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getState_timestamp() <em>State timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState_timestamp()
+ * @generated
+ * @ordered
+ */
+ protected Date state_timestamp = STATE_TIMESTAMP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAlarm_actions() <em>Alarm actions</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlarm_actions()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> alarm_actions;
+
+ /**
+ * The cached value of the '{@link #getOk_actions() <em>Ok actions</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOk_actions()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ok_actions;
+
+ /**
+ * The cached value of the '{@link #getInsufficient_data_actions() <em>Insufficient data actions</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsufficient_data_actions()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> insufficient_data_actions;
+
+ /**
+ * The default value of the '{@link #getRepeat_actions() <em>Repeat actions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepeat_actions()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean REPEAT_ACTIONS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRepeat_actions() <em>Repeat actions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepeat_actions()
+ * @generated
+ * @ordered
+ */
+ protected Boolean repeat_actions = REPEAT_ACTIONS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTime_constraints() <em>Time constraints</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTime_constraints()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> time_constraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerAlarmImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_ALARM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser_id(String newUser_id) {
+ String oldUser_id = user_id;
+ user_id = newUser_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__USER_ID, oldUser_id, user_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTimestamp(Date newTimestamp) {
+ Date oldTimestamp = timestamp;
+ timestamp = newTimestamp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__TIMESTAMP, oldTimestamp, timestamp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnabled(Boolean newEnabled) {
+ Boolean oldEnabled = enabled;
+ enabled = newEnabled;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__ENABLED, oldEnabled, enabled));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getState() {
+ return state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(String newState) {
+ String oldState = state;
+ state = newState;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__STATE, oldState, state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getState_timestamp() {
+ return state_timestamp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState_timestamp(Date newState_timestamp) {
+ Date oldState_timestamp = state_timestamp;
+ state_timestamp = newState_timestamp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__STATE_TIMESTAMP, oldState_timestamp, state_timestamp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getAlarm_actions() {
+ if (alarm_actions == null) {
+ alarm_actions = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_ALARM__ALARM_ACTIONS);
+ }
+ return alarm_actions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getOk_actions() {
+ if (ok_actions == null) {
+ ok_actions = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_ALARM__OK_ACTIONS);
+ }
+ return ok_actions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getInsufficient_data_actions() {
+ if (insufficient_data_actions == null) {
+ insufficient_data_actions = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS);
+ }
+ return insufficient_data_actions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getRepeat_actions() {
+ return repeat_actions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepeat_actions(Boolean newRepeat_actions) {
+ Boolean oldRepeat_actions = repeat_actions;
+ repeat_actions = newRepeat_actions;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ALARM__REPEAT_ACTIONS, oldRepeat_actions, repeat_actions));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getTime_constraints() {
+ if (time_constraints == null) {
+ time_constraints = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_ALARM__TIME_CONSTRAINTS);
+ }
+ return time_constraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ALARM__ID:
+ return getId();
+ case CeilometerPackage.CEILOMETER_ALARM__USER_ID:
+ return getUser_id();
+ case CeilometerPackage.CEILOMETER_ALARM__TIMESTAMP:
+ return getTimestamp();
+ case CeilometerPackage.CEILOMETER_ALARM__ENABLED:
+ return getEnabled();
+ case CeilometerPackage.CEILOMETER_ALARM__STATE:
+ return getState();
+ case CeilometerPackage.CEILOMETER_ALARM__STATE_TIMESTAMP:
+ return getState_timestamp();
+ case CeilometerPackage.CEILOMETER_ALARM__DESCRIPTION:
+ return getDescription();
+ case CeilometerPackage.CEILOMETER_ALARM__ALARM_ACTIONS:
+ return getAlarm_actions();
+ case CeilometerPackage.CEILOMETER_ALARM__OK_ACTIONS:
+ return getOk_actions();
+ case CeilometerPackage.CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS:
+ return getInsufficient_data_actions();
+ case CeilometerPackage.CEILOMETER_ALARM__REPEAT_ACTIONS:
+ return getRepeat_actions();
+ case CeilometerPackage.CEILOMETER_ALARM__TIME_CONSTRAINTS:
+ return getTime_constraints();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ALARM__ID:
+ setId((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__USER_ID:
+ setUser_id((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__TIMESTAMP:
+ setTimestamp((Date)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__ENABLED:
+ setEnabled((Boolean)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__STATE:
+ setState((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__STATE_TIMESTAMP:
+ setState_timestamp((Date)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__ALARM_ACTIONS:
+ getAlarm_actions().clear();
+ getAlarm_actions().addAll((Collection<? extends String>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__OK_ACTIONS:
+ getOk_actions().clear();
+ getOk_actions().addAll((Collection<? extends String>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS:
+ getInsufficient_data_actions().clear();
+ getInsufficient_data_actions().addAll((Collection<? extends String>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__REPEAT_ACTIONS:
+ setRepeat_actions((Boolean)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__TIME_CONSTRAINTS:
+ getTime_constraints().clear();
+ getTime_constraints().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ALARM__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__USER_ID:
+ setUser_id(USER_ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__TIMESTAMP:
+ setTimestamp(TIMESTAMP_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__ENABLED:
+ setEnabled(ENABLED_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__STATE:
+ setState(STATE_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__STATE_TIMESTAMP:
+ setState_timestamp(STATE_TIMESTAMP_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__ALARM_ACTIONS:
+ getAlarm_actions().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__OK_ACTIONS:
+ getOk_actions().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS:
+ getInsufficient_data_actions().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__REPEAT_ACTIONS:
+ setRepeat_actions(REPEAT_ACTIONS_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ALARM__TIME_CONSTRAINTS:
+ getTime_constraints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ALARM__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case CeilometerPackage.CEILOMETER_ALARM__USER_ID:
+ return USER_ID_EDEFAULT == null ? user_id != null : !USER_ID_EDEFAULT.equals(user_id);
+ case CeilometerPackage.CEILOMETER_ALARM__TIMESTAMP:
+ return TIMESTAMP_EDEFAULT == null ? timestamp != null : !TIMESTAMP_EDEFAULT.equals(timestamp);
+ case CeilometerPackage.CEILOMETER_ALARM__ENABLED:
+ return ENABLED_EDEFAULT == null ? enabled != null : !ENABLED_EDEFAULT.equals(enabled);
+ case CeilometerPackage.CEILOMETER_ALARM__STATE:
+ return STATE_EDEFAULT == null ? state != null : !STATE_EDEFAULT.equals(state);
+ case CeilometerPackage.CEILOMETER_ALARM__STATE_TIMESTAMP:
+ return STATE_TIMESTAMP_EDEFAULT == null ? state_timestamp != null : !STATE_TIMESTAMP_EDEFAULT.equals(state_timestamp);
+ case CeilometerPackage.CEILOMETER_ALARM__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case CeilometerPackage.CEILOMETER_ALARM__ALARM_ACTIONS:
+ return alarm_actions != null && !alarm_actions.isEmpty();
+ case CeilometerPackage.CEILOMETER_ALARM__OK_ACTIONS:
+ return ok_actions != null && !ok_actions.isEmpty();
+ case CeilometerPackage.CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS:
+ return insufficient_data_actions != null && !insufficient_data_actions.isEmpty();
+ case CeilometerPackage.CEILOMETER_ALARM__REPEAT_ACTIONS:
+ return REPEAT_ACTIONS_EDEFAULT == null ? repeat_actions != null : !REPEAT_ACTIONS_EDEFAULT.equals(repeat_actions);
+ case CeilometerPackage.CEILOMETER_ALARM__TIME_CONSTRAINTS:
+ return time_constraints != null && !time_constraints.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", user_id: ");
+ result.append(user_id);
+ result.append(", timestamp: ");
+ result.append(timestamp);
+ result.append(", enabled: ");
+ result.append(enabled);
+ result.append(", state: ");
+ result.append(state);
+ result.append(", state_timestamp: ");
+ result.append(state_timestamp);
+ result.append(", description: ");
+ result.append(description);
+ result.append(", alarm_actions: ");
+ result.append(alarm_actions);
+ result.append(", ok_actions: ");
+ result.append(ok_actions);
+ result.append(", insufficient_data_actions: ");
+ result.append(insufficient_data_actions);
+ result.append(", repeat_actions: ");
+ result.append(repeat_actions);
+ result.append(", time_constraints: ");
+ result.append(time_constraints);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerAlarmImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFactoryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFactoryImpl.java
new file mode 100644
index 0000000..6c23d9b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFactoryImpl.java
@@ -0,0 +1,215 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CeilometerFactoryImpl extends EFactoryImpl implements CeilometerFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CeilometerFactory init() {
+ try {
+ CeilometerFactory theCeilometerFactory = (CeilometerFactory)EPackage.Registry.INSTANCE.getEFactory(CeilometerPackage.eNS_URI);
+ if (theCeilometerFactory != null) {
+ return theCeilometerFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new CeilometerFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM: return createCeilometerThresholdAlarm();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE: return createCeilometerThresholdAlarmRule();
+ case CeilometerPackage.CEILOMETER_RESOURCE: return createCeilometerResource();
+ case CeilometerPackage.CEILOMETER_METER: return createCeilometerMeter();
+ case CeilometerPackage.CEILOMETER_QUERY: return createCeilometerQuery();
+ case CeilometerPackage.CEILOMETER_FILTER: return createCeilometerFilter();
+ case CeilometerPackage.CEILOMETER_ORDERED_BY: return createCeilometerOrderedBy();
+ case CeilometerPackage.CREATE_ALARM_REQUEST: return createCreateAlarmRequest();
+ case CeilometerPackage.SAMPLE_REQUEST: return createSampleRequest();
+ case CeilometerPackage.CEILOMETER_SAMPLE: return createCeilometerSample();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerThresholdAlarm createCeilometerThresholdAlarm() {
+ CeilometerThresholdAlarmImpl ceilometerThresholdAlarm = new CeilometerThresholdAlarmImpl();
+ return ceilometerThresholdAlarm;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerThresholdAlarmRule createCeilometerThresholdAlarmRule() {
+ CeilometerThresholdAlarmRuleImpl ceilometerThresholdAlarmRule = new CeilometerThresholdAlarmRuleImpl();
+ return ceilometerThresholdAlarmRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerResource createCeilometerResource() {
+ CeilometerResourceImpl ceilometerResource = new CeilometerResourceImpl();
+ return ceilometerResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerMeter createCeilometerMeter() {
+ CeilometerMeterImpl ceilometerMeter = new CeilometerMeterImpl();
+ return ceilometerMeter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerQuery createCeilometerQuery() {
+ CeilometerQueryImpl ceilometerQuery = new CeilometerQueryImpl();
+ return ceilometerQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerFilter createCeilometerFilter() {
+ CeilometerFilterImpl ceilometerFilter = new CeilometerFilterImpl();
+ return ceilometerFilter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerOrderedBy createCeilometerOrderedBy() {
+ CeilometerOrderedByImpl ceilometerOrderedBy = new CeilometerOrderedByImpl();
+ return ceilometerOrderedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateAlarmRequest createCreateAlarmRequest() {
+ CreateAlarmRequestImpl createAlarmRequest = new CreateAlarmRequestImpl();
+ return createAlarmRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SampleRequest createSampleRequest() {
+ SampleRequestImpl sampleRequest = new SampleRequestImpl();
+ return sampleRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerSample createCeilometerSample() {
+ CeilometerSampleImpl ceilometerSample = new CeilometerSampleImpl();
+ return ceilometerSample;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerPackage getCeilometerPackage() {
+ return (CeilometerPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static CeilometerPackage getPackage() {
+ return CeilometerPackage.eINSTANCE;
+ }
+
+} //CeilometerFactoryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFilterImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFilterImpl.java
new file mode 100644
index 0000000..e57e93e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerFilterImpl.java
@@ -0,0 +1,350 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl#getField <em>Field</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerFilterImpl#getFilters <em>Filters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerFilterImpl extends MinimalEObjectImpl.Container implements CeilometerFilter {
+ /**
+ * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperation()
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperation()
+ * @generated
+ * @ordered
+ */
+ protected String operation = OPERATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getField() <em>Field</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getField()
+ * @generated
+ * @ordered
+ */
+ protected static final String FIELD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getField() <em>Field</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getField()
+ * @generated
+ * @ordered
+ */
+ protected String field = FIELD_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFilters() <em>Filters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFilters()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerFilter> filters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerFilterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_FILTER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOperation() {
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperation(String newOperation) {
+ String oldOperation = operation;
+ operation = newOperation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_FILTER__OPERATION, oldOperation, operation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_FILTER__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getField() {
+ return field;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setField(String newField) {
+ String oldField = field;
+ field = newField;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_FILTER__FIELD, oldField, field));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerFilter> getFilters() {
+ if (filters == null) {
+ filters = new EObjectContainmentEList<CeilometerFilter>(CeilometerFilter.class, this, CeilometerPackage.CEILOMETER_FILTER__FILTERS);
+ }
+ return filters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_FILTER__FILTERS:
+ return ((InternalEList<?>)getFilters()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_FILTER__OPERATION:
+ return getOperation();
+ case CeilometerPackage.CEILOMETER_FILTER__VALUE:
+ return getValue();
+ case CeilometerPackage.CEILOMETER_FILTER__FIELD:
+ return getField();
+ case CeilometerPackage.CEILOMETER_FILTER__FILTERS:
+ return getFilters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_FILTER__OPERATION:
+ setOperation((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_FILTER__VALUE:
+ setValue((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_FILTER__FIELD:
+ setField((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_FILTER__FILTERS:
+ getFilters().clear();
+ getFilters().addAll((Collection<? extends CeilometerFilter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_FILTER__OPERATION:
+ setOperation(OPERATION_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_FILTER__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_FILTER__FIELD:
+ setField(FIELD_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_FILTER__FILTERS:
+ getFilters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_FILTER__OPERATION:
+ return OPERATION_EDEFAULT == null ? operation != null : !OPERATION_EDEFAULT.equals(operation);
+ case CeilometerPackage.CEILOMETER_FILTER__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CeilometerPackage.CEILOMETER_FILTER__FIELD:
+ return FIELD_EDEFAULT == null ? field != null : !FIELD_EDEFAULT.equals(field);
+ case CeilometerPackage.CEILOMETER_FILTER__FILTERS:
+ return filters != null && !filters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (operation: ");
+ result.append(operation);
+ result.append(", value: ");
+ result.append(value);
+ result.append(", field: ");
+ result.append(field);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerFilterImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerMeterImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerMeterImpl.java
new file mode 100644
index 0000000..242ab27
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerMeterImpl.java
@@ -0,0 +1,62 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Meter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerMeterImpl extends MinimalEObjectImpl.Container implements CeilometerMeter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerMeterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_METER;
+ }
+
+} //CeilometerMeterImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerOrderedByImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerOrderedByImpl.java
new file mode 100644
index 0000000..fd4f9c4
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerOrderedByImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ordered By</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerOrderedByImpl#getField <em>Field</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerOrderedByImpl#getDirection <em>Direction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerOrderedByImpl extends MinimalEObjectImpl.Container implements CeilometerOrderedBy {
+ /**
+ * The default value of the '{@link #getField() <em>Field</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getField()
+ * @generated
+ * @ordered
+ */
+ protected static final String FIELD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getField() <em>Field</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getField()
+ * @generated
+ * @ordered
+ */
+ protected String field = FIELD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final String DIRECTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected String direction = DIRECTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerOrderedByImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_ORDERED_BY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getField() {
+ return field;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setField(String newField) {
+ String oldField = field;
+ field = newField;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ORDERED_BY__FIELD, oldField, field));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDirection() {
+ return direction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirection(String newDirection) {
+ String oldDirection = direction;
+ direction = newDirection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_ORDERED_BY__DIRECTION, oldDirection, direction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__FIELD:
+ return getField();
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__DIRECTION:
+ return getDirection();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__FIELD:
+ setField((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__DIRECTION:
+ setDirection((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__FIELD:
+ setField(FIELD_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__DIRECTION:
+ setDirection(DIRECTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__FIELD:
+ return FIELD_EDEFAULT == null ? field != null : !FIELD_EDEFAULT.equals(field);
+ case CeilometerPackage.CEILOMETER_ORDERED_BY__DIRECTION:
+ return DIRECTION_EDEFAULT == null ? direction != null : !DIRECTION_EDEFAULT.equals(direction);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (field: ");
+ result.append(field);
+ result.append(", direction: ");
+ result.append(direction);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerOrderedByImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerPackageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerPackageImpl.java
new file mode 100644
index 0000000..99ae3c4
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerPackageImpl.java
@@ -0,0 +1,1123 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerFactory;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerRequest;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerResource;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerSample;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule;
+import org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest;
+
+import org.openecomp.ncomp.openstack.ceilometer.SampleRequest;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.core.CorePackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CeilometerPackageImpl extends EPackageImpl implements CeilometerPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerServiceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerProjectEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerAlarmEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerThresholdAlarmEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerThresholdAlarmRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerMeterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerFilterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerOrderedByEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createAlarmRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sampleRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ceilometerSampleEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private CeilometerPackageImpl() {
+ super(eNS_URI, CeilometerFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link CeilometerPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static CeilometerPackage init() {
+ if (isInited) return (CeilometerPackage)EPackage.Registry.INSTANCE.getEPackage(CeilometerPackage.eNS_URI);
+
+ // Obtain or create and register package
+ CeilometerPackageImpl theCeilometerPackage = (CeilometerPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CeilometerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CeilometerPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ComputePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theCeilometerPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theCeilometerPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theCeilometerPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(CeilometerPackage.eNS_URI, theCeilometerPackage);
+ return theCeilometerPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerService() {
+ return ceilometerServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerService_CeilometerAvailableCapabilites() {
+ return (EAttribute)ceilometerServiceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerService_CeilometerUnavailableCapabilites() {
+ return (EAttribute)ceilometerServiceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCeilometerService__CreateAlarm__CreateAlarmRequest() {
+ return ceilometerServiceEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCeilometerService__DeleteAlarm__String_String() {
+ return ceilometerServiceEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCeilometerService__CreateAlarm__SampleRequest() {
+ return ceilometerServiceEClass.getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerProject() {
+ return ceilometerProjectEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerProject_Alarms() {
+ return (EReference)ceilometerProjectEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerProject_Resources() {
+ return (EReference)ceilometerProjectEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerProject_Meters() {
+ return (EReference)ceilometerProjectEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerAlarm() {
+ return ceilometerAlarmEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Id() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_User_id() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Timestamp() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Enabled() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_State() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_State_timestamp() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Description() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Alarm_actions() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Ok_actions() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Insufficient_data_actions() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Repeat_actions() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerAlarm_Time_constraints() {
+ return (EAttribute)ceilometerAlarmEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerThresholdAlarm() {
+ return ceilometerThresholdAlarmEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerThresholdAlarm_Threshold_rule() {
+ return (EReference)ceilometerThresholdAlarmEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerThresholdAlarmRule() {
+ return ceilometerThresholdAlarmRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Meter_name() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Evaluation_periods() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Period() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Statistic() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Threshold() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Query() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Comparison_operator() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerThresholdAlarmRule_Exclude_outliers() {
+ return (EAttribute)ceilometerThresholdAlarmRuleEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerResource() {
+ return ceilometerResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerResource_Id() {
+ return (EAttribute)ceilometerResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerResource_User_id() {
+ return (EAttribute)ceilometerResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerResource_Project_id() {
+ return (EAttribute)ceilometerResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerResource_First_sample_timestamp() {
+ return (EAttribute)ceilometerResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerResource_Last_sample_timestamp() {
+ return (EAttribute)ceilometerResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerResource_Links() {
+ return (EReference)ceilometerResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerResource_Metadata() {
+ return (EReference)ceilometerResourceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerMeter() {
+ return ceilometerMeterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerQuery() {
+ return ceilometerQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerQuery_Filter() {
+ return (EReference)ceilometerQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerQuery_Orderby() {
+ return (EReference)ceilometerQueryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerQuery_Limit() {
+ return (EAttribute)ceilometerQueryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerFilter() {
+ return ceilometerFilterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerFilter_Operation() {
+ return (EAttribute)ceilometerFilterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerFilter_Value() {
+ return (EAttribute)ceilometerFilterEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerFilter_Field() {
+ return (EAttribute)ceilometerFilterEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCeilometerFilter_Filters() {
+ return (EReference)ceilometerFilterEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerOrderedBy() {
+ return ceilometerOrderedByEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerOrderedBy_Field() {
+ return (EAttribute)ceilometerOrderedByEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerOrderedBy_Direction() {
+ return (EAttribute)ceilometerOrderedByEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerRequest() {
+ return ceilometerRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateAlarmRequest() {
+ return createAlarmRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSampleRequest() {
+ return sampleRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSampleRequest_Query() {
+ return (EReference)sampleRequestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCeilometerSample() {
+ return ceilometerSampleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Counter_name() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_User_id() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Resource_id() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Timestamp() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Recorded_at() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Message_id() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Source() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Counter_unit() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Counter_volume() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCeilometerSample_Project_id() {
+ return (EAttribute)ceilometerSampleEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerFactory getCeilometerFactory() {
+ return (CeilometerFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ ceilometerServiceEClass = createEClass(CEILOMETER_SERVICE);
+ createEAttribute(ceilometerServiceEClass, CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES);
+ createEAttribute(ceilometerServiceEClass, CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES);
+ createEOperation(ceilometerServiceEClass, CEILOMETER_SERVICE___CREATE_ALARM__CREATEALARMREQUEST);
+ createEOperation(ceilometerServiceEClass, CEILOMETER_SERVICE___DELETE_ALARM__STRING_STRING);
+ createEOperation(ceilometerServiceEClass, CEILOMETER_SERVICE___CREATE_ALARM__SAMPLEREQUEST);
+
+ ceilometerProjectEClass = createEClass(CEILOMETER_PROJECT);
+ createEReference(ceilometerProjectEClass, CEILOMETER_PROJECT__ALARMS);
+ createEReference(ceilometerProjectEClass, CEILOMETER_PROJECT__RESOURCES);
+ createEReference(ceilometerProjectEClass, CEILOMETER_PROJECT__METERS);
+
+ ceilometerAlarmEClass = createEClass(CEILOMETER_ALARM);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__ID);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__USER_ID);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__TIMESTAMP);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__ENABLED);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__STATE);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__STATE_TIMESTAMP);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__DESCRIPTION);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__ALARM_ACTIONS);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__OK_ACTIONS);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__INSUFFICIENT_DATA_ACTIONS);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__REPEAT_ACTIONS);
+ createEAttribute(ceilometerAlarmEClass, CEILOMETER_ALARM__TIME_CONSTRAINTS);
+
+ ceilometerThresholdAlarmEClass = createEClass(CEILOMETER_THRESHOLD_ALARM);
+ createEReference(ceilometerThresholdAlarmEClass, CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE);
+
+ ceilometerThresholdAlarmRuleEClass = createEClass(CEILOMETER_THRESHOLD_ALARM_RULE);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__QUERY);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR);
+ createEAttribute(ceilometerThresholdAlarmRuleEClass, CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS);
+
+ ceilometerResourceEClass = createEClass(CEILOMETER_RESOURCE);
+ createEAttribute(ceilometerResourceEClass, CEILOMETER_RESOURCE__ID);
+ createEAttribute(ceilometerResourceEClass, CEILOMETER_RESOURCE__USER_ID);
+ createEAttribute(ceilometerResourceEClass, CEILOMETER_RESOURCE__PROJECT_ID);
+ createEAttribute(ceilometerResourceEClass, CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP);
+ createEAttribute(ceilometerResourceEClass, CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP);
+ createEReference(ceilometerResourceEClass, CEILOMETER_RESOURCE__LINKS);
+ createEReference(ceilometerResourceEClass, CEILOMETER_RESOURCE__METADATA);
+
+ ceilometerMeterEClass = createEClass(CEILOMETER_METER);
+
+ ceilometerQueryEClass = createEClass(CEILOMETER_QUERY);
+ createEReference(ceilometerQueryEClass, CEILOMETER_QUERY__FILTER);
+ createEReference(ceilometerQueryEClass, CEILOMETER_QUERY__ORDERBY);
+ createEAttribute(ceilometerQueryEClass, CEILOMETER_QUERY__LIMIT);
+
+ ceilometerFilterEClass = createEClass(CEILOMETER_FILTER);
+ createEAttribute(ceilometerFilterEClass, CEILOMETER_FILTER__OPERATION);
+ createEAttribute(ceilometerFilterEClass, CEILOMETER_FILTER__VALUE);
+ createEAttribute(ceilometerFilterEClass, CEILOMETER_FILTER__FIELD);
+ createEReference(ceilometerFilterEClass, CEILOMETER_FILTER__FILTERS);
+
+ ceilometerOrderedByEClass = createEClass(CEILOMETER_ORDERED_BY);
+ createEAttribute(ceilometerOrderedByEClass, CEILOMETER_ORDERED_BY__FIELD);
+ createEAttribute(ceilometerOrderedByEClass, CEILOMETER_ORDERED_BY__DIRECTION);
+
+ ceilometerRequestEClass = createEClass(CEILOMETER_REQUEST);
+
+ createAlarmRequestEClass = createEClass(CREATE_ALARM_REQUEST);
+
+ sampleRequestEClass = createEClass(SAMPLE_REQUEST);
+ createEReference(sampleRequestEClass, SAMPLE_REQUEST__QUERY);
+
+ ceilometerSampleEClass = createEClass(CEILOMETER_SAMPLE);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__COUNTER_NAME);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__USER_ID);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__RESOURCE_ID);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__TIMESTAMP);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__RECORDED_AT);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__MESSAGE_ID);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__SOURCE);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__COUNTER_UNIT);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__COUNTER_VOLUME);
+ createEAttribute(ceilometerSampleEClass, CEILOMETER_SAMPLE__PROJECT_ID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ org.openecomp.ncomp.core.CorePackage theCorePackage = (org.openecomp.ncomp.core.CorePackage)EPackage.Registry.INSTANCE.getEPackage(org.openecomp.ncomp.core.CorePackage.eNS_URI);
+ ComputePackage theComputePackage = (ComputePackage)EPackage.Registry.INSTANCE.getEPackage(ComputePackage.eNS_URI);
+ CorePackage theCorePackage_1 = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ ceilometerAlarmEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+ ceilometerThresholdAlarmEClass.getESuperTypes().add(this.getCeilometerAlarm());
+ ceilometerRequestEClass.getESuperTypes().add(theCorePackage_1.getOpenStackRequest());
+ createAlarmRequestEClass.getESuperTypes().add(this.getCeilometerRequest());
+ sampleRequestEClass.getESuperTypes().add(this.getCeilometerRequest());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(ceilometerServiceEClass, CeilometerService.class, "CeilometerService", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerService_CeilometerAvailableCapabilites(), theEcorePackage.getEString(), "ceilometerAvailableCapabilites", null, 0, -1, CeilometerService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerService_CeilometerUnavailableCapabilites(), theEcorePackage.getEString(), "ceilometerUnavailableCapabilites", null, 0, -1, CeilometerService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ EOperation op = initEOperation(getCeilometerService__CreateAlarm__CreateAlarmRequest(), this.getCeilometerAlarm(), "createAlarm", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getCreateAlarmRequest(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getCeilometerService__DeleteAlarm__String_String(), null, "deleteAlarm", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getCeilometerService__CreateAlarm__SampleRequest(), this.getCeilometerSample(), "createAlarm", 0, -1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getSampleRequest(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ initEClass(ceilometerProjectEClass, CeilometerProject.class, "CeilometerProject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCeilometerProject_Alarms(), this.getCeilometerAlarm(), null, "alarms", null, 0, -1, CeilometerProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCeilometerProject_Resources(), this.getCeilometerResource(), null, "resources", null, 0, -1, CeilometerProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCeilometerProject_Meters(), this.getCeilometerMeter(), null, "meters", null, 0, -1, CeilometerProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerAlarmEClass, CeilometerAlarm.class, "CeilometerAlarm", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerAlarm_Id(), theEcorePackage.getEString(), "id", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_User_id(), theEcorePackage.getEString(), "user_id", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Timestamp(), theEcorePackage.getEDate(), "timestamp", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Enabled(), theEcorePackage.getEBooleanObject(), "enabled", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_State(), theEcorePackage.getEString(), "state", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_State_timestamp(), theEcorePackage.getEDate(), "state_timestamp", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Description(), theEcorePackage.getEString(), "description", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Alarm_actions(), theEcorePackage.getEString(), "alarm_actions", null, 0, -1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Ok_actions(), theEcorePackage.getEString(), "ok_actions", null, 0, -1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Insufficient_data_actions(), theEcorePackage.getEString(), "insufficient_data_actions", null, 0, -1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Repeat_actions(), theEcorePackage.getEBooleanObject(), "repeat_actions", null, 0, 1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerAlarm_Time_constraints(), theEcorePackage.getEString(), "time_constraints", null, 0, -1, CeilometerAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerThresholdAlarmEClass, CeilometerThresholdAlarm.class, "CeilometerThresholdAlarm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCeilometerThresholdAlarm_Threshold_rule(), this.getCeilometerThresholdAlarmRule(), null, "threshold_rule", null, 0, 1, CeilometerThresholdAlarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerThresholdAlarmRuleEClass, CeilometerThresholdAlarmRule.class, "CeilometerThresholdAlarmRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerThresholdAlarmRule_Meter_name(), theEcorePackage.getEString(), "meter_name", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Evaluation_periods(), theEcorePackage.getELongObject(), "evaluation_periods", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Period(), theEcorePackage.getELongObject(), "period", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Statistic(), theEcorePackage.getEString(), "statistic", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Threshold(), theEcorePackage.getEDouble(), "threshold", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Query(), theEcorePackage.getEString(), "query", null, 0, -1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Comparison_operator(), theEcorePackage.getEString(), "comparison_operator", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerThresholdAlarmRule_Exclude_outliers(), theEcorePackage.getEBooleanObject(), "exclude_outliers", null, 0, 1, CeilometerThresholdAlarmRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerResourceEClass, CeilometerResource.class, "CeilometerResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerResource_Id(), theEcorePackage.getEString(), "id", null, 0, 1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerResource_User_id(), theEcorePackage.getEString(), "user_id", null, 0, 1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerResource_Project_id(), theEcorePackage.getEString(), "project_id", null, 0, 1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerResource_First_sample_timestamp(), theEcorePackage.getEDate(), "first_sample_timestamp", null, 0, 1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerResource_Last_sample_timestamp(), theEcorePackage.getEDate(), "last_sample_timestamp", null, 0, 1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCeilometerResource_Links(), theComputePackage.getLink(), null, "links", null, 0, -1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCeilometerResource_Metadata(), theComputePackage.getMetadata(), null, "metadata", null, 0, 1, CeilometerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerMeterEClass, CeilometerMeter.class, "CeilometerMeter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(ceilometerQueryEClass, CeilometerQuery.class, "CeilometerQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCeilometerQuery_Filter(), this.getCeilometerFilter(), null, "filter", null, 0, -1, CeilometerQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCeilometerQuery_Orderby(), this.getCeilometerOrderedBy(), null, "orderby", null, 0, -1, CeilometerQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerQuery_Limit(), theEcorePackage.getELongObject(), "limit", null, 0, 1, CeilometerQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerFilterEClass, CeilometerFilter.class, "CeilometerFilter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerFilter_Operation(), theEcorePackage.getEString(), "operation", null, 0, 1, CeilometerFilter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerFilter_Value(), theEcorePackage.getEString(), "value", null, 0, 1, CeilometerFilter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerFilter_Field(), theEcorePackage.getEString(), "field", null, 0, 1, CeilometerFilter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCeilometerFilter_Filters(), this.getCeilometerFilter(), null, "filters", null, 0, -1, CeilometerFilter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerOrderedByEClass, CeilometerOrderedBy.class, "CeilometerOrderedBy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerOrderedBy_Field(), theEcorePackage.getEString(), "field", null, 0, 1, CeilometerOrderedBy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerOrderedBy_Direction(), theEcorePackage.getEString(), "direction", null, 0, 1, CeilometerOrderedBy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerRequestEClass, CeilometerRequest.class, "CeilometerRequest", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(createAlarmRequestEClass, CreateAlarmRequest.class, "CreateAlarmRequest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(sampleRequestEClass, SampleRequest.class, "SampleRequest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSampleRequest_Query(), this.getCeilometerQuery(), null, "query", null, 0, 1, SampleRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ceilometerSampleEClass, CeilometerSample.class, "CeilometerSample", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCeilometerSample_Counter_name(), theEcorePackage.getEString(), "counter_name", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_User_id(), theEcorePackage.getEString(), "user_id", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Resource_id(), theEcorePackage.getEString(), "resource_id", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Timestamp(), theEcorePackage.getEDate(), "timestamp", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Recorded_at(), theEcorePackage.getEDate(), "recorded_at", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Message_id(), theEcorePackage.getEString(), "message_id", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Source(), theEcorePackage.getEString(), "source", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Counter_unit(), theEcorePackage.getEString(), "counter_unit", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Counter_volume(), theEcorePackage.getEDouble(), "counter_volume", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCeilometerSample_Project_id(), theEcorePackage.getEString(), "project_id", null, 0, 1, CeilometerSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2011/Xcore
+ createXcoreAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2011/Xcore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createXcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2011/Xcore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "openstack", "http://openecomp.org/sirius/openstack"
+ });
+ }
+
+} //CeilometerPackageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerProjectImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerProjectImpl.java
new file mode 100644
index 0000000..5c1c6c0
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerProjectImpl.java
@@ -0,0 +1,246 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerResource;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Project</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl#getAlarms <em>Alarms</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl#getResources <em>Resources</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerProjectImpl#getMeters <em>Meters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class CeilometerProjectImpl extends MinimalEObjectImpl.Container implements CeilometerProject {
+ /**
+ * The cached value of the '{@link #getAlarms() <em>Alarms</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlarms()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerAlarm> alarms;
+
+ /**
+ * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerResource> resources;
+ /**
+ * The cached value of the '{@link #getMeters() <em>Meters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeters()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerMeter> meters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerProjectImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_PROJECT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerAlarm> getAlarms() {
+ if (alarms == null) {
+ alarms = new EObjectContainmentEList<CeilometerAlarm>(CeilometerAlarm.class, this, CeilometerPackage.CEILOMETER_PROJECT__ALARMS);
+ }
+ return alarms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerResource> getResources() {
+ if (resources == null) {
+ resources = new EObjectContainmentEList<CeilometerResource>(CeilometerResource.class, this, CeilometerPackage.CEILOMETER_PROJECT__RESOURCES);
+ }
+ return resources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerMeter> getMeters() {
+ if (meters == null) {
+ meters = new EObjectContainmentEList<CeilometerMeter>(CeilometerMeter.class, this, CeilometerPackage.CEILOMETER_PROJECT__METERS);
+ }
+ return meters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_PROJECT__ALARMS:
+ return ((InternalEList<?>)getAlarms()).basicRemove(otherEnd, msgs);
+ case CeilometerPackage.CEILOMETER_PROJECT__RESOURCES:
+ return ((InternalEList<?>)getResources()).basicRemove(otherEnd, msgs);
+ case CeilometerPackage.CEILOMETER_PROJECT__METERS:
+ return ((InternalEList<?>)getMeters()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_PROJECT__ALARMS:
+ return getAlarms();
+ case CeilometerPackage.CEILOMETER_PROJECT__RESOURCES:
+ return getResources();
+ case CeilometerPackage.CEILOMETER_PROJECT__METERS:
+ return getMeters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_PROJECT__ALARMS:
+ getAlarms().clear();
+ getAlarms().addAll((Collection<? extends CeilometerAlarm>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_PROJECT__RESOURCES:
+ getResources().clear();
+ getResources().addAll((Collection<? extends CeilometerResource>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_PROJECT__METERS:
+ getMeters().clear();
+ getMeters().addAll((Collection<? extends CeilometerMeter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_PROJECT__ALARMS:
+ getAlarms().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_PROJECT__RESOURCES:
+ getResources().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_PROJECT__METERS:
+ getMeters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_PROJECT__ALARMS:
+ return alarms != null && !alarms.isEmpty();
+ case CeilometerPackage.CEILOMETER_PROJECT__RESOURCES:
+ return resources != null && !resources.isEmpty();
+ case CeilometerPackage.CEILOMETER_PROJECT__METERS:
+ return meters != null && !meters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CeilometerProjectImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerQueryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerQueryImpl.java
new file mode 100644
index 0000000..cd26d2a
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerQueryImpl.java
@@ -0,0 +1,280 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl#getFilter <em>Filter</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl#getOrderby <em>Orderby</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerQueryImpl#getLimit <em>Limit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerQueryImpl extends MinimalEObjectImpl.Container implements CeilometerQuery {
+ /**
+ * The cached value of the '{@link #getFilter() <em>Filter</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFilter()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerFilter> filter;
+
+ /**
+ * The cached value of the '{@link #getOrderby() <em>Orderby</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderby()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerOrderedBy> orderby;
+
+ /**
+ * The default value of the '{@link #getLimit() <em>Limit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLimit()
+ * @generated
+ * @ordered
+ */
+ protected static final Long LIMIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLimit() <em>Limit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLimit()
+ * @generated
+ * @ordered
+ */
+ protected Long limit = LIMIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerFilter> getFilter() {
+ if (filter == null) {
+ filter = new EObjectContainmentEList<CeilometerFilter>(CeilometerFilter.class, this, CeilometerPackage.CEILOMETER_QUERY__FILTER);
+ }
+ return filter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerOrderedBy> getOrderby() {
+ if (orderby == null) {
+ orderby = new EObjectContainmentEList<CeilometerOrderedBy>(CeilometerOrderedBy.class, this, CeilometerPackage.CEILOMETER_QUERY__ORDERBY);
+ }
+ return orderby;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getLimit() {
+ return limit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLimit(Long newLimit) {
+ Long oldLimit = limit;
+ limit = newLimit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_QUERY__LIMIT, oldLimit, limit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_QUERY__FILTER:
+ return ((InternalEList<?>)getFilter()).basicRemove(otherEnd, msgs);
+ case CeilometerPackage.CEILOMETER_QUERY__ORDERBY:
+ return ((InternalEList<?>)getOrderby()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_QUERY__FILTER:
+ return getFilter();
+ case CeilometerPackage.CEILOMETER_QUERY__ORDERBY:
+ return getOrderby();
+ case CeilometerPackage.CEILOMETER_QUERY__LIMIT:
+ return getLimit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_QUERY__FILTER:
+ getFilter().clear();
+ getFilter().addAll((Collection<? extends CeilometerFilter>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_QUERY__ORDERBY:
+ getOrderby().clear();
+ getOrderby().addAll((Collection<? extends CeilometerOrderedBy>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_QUERY__LIMIT:
+ setLimit((Long)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_QUERY__FILTER:
+ getFilter().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_QUERY__ORDERBY:
+ getOrderby().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_QUERY__LIMIT:
+ setLimit(LIMIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_QUERY__FILTER:
+ return filter != null && !filter.isEmpty();
+ case CeilometerPackage.CEILOMETER_QUERY__ORDERBY:
+ return orderby != null && !orderby.isEmpty();
+ case CeilometerPackage.CEILOMETER_QUERY__LIMIT:
+ return LIMIT_EDEFAULT == null ? limit != null : !LIMIT_EDEFAULT.equals(limit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (limit: ");
+ result.append(limit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerQueryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerRequestImpl.java
new file mode 100644
index 0000000..4dd5bdc
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerRequestImpl.java
@@ -0,0 +1,62 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerRequest;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class CeilometerRequestImpl extends OpenStackRequestImpl implements CeilometerRequest {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_REQUEST;
+ }
+
+} //CeilometerRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerResourceImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerResourceImpl.java
new file mode 100644
index 0000000..044097e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerResourceImpl.java
@@ -0,0 +1,513 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerResource;
+
+import org.openecomp.ncomp.openstack.compute.Link;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+import java.util.Collection;
+import java.util.Date;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getProject_id <em>Project id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getFirst_sample_timestamp <em>First sample timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getLast_sample_timestamp <em>Last sample timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getLinks <em>Links</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerResourceImpl#getMetadata <em>Metadata</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerResourceImpl extends MinimalEObjectImpl.Container implements CeilometerResource {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_ID_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected String user_id = USER_ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #getProject_id() <em>Project id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProject_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROJECT_ID_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getProject_id() <em>Project id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProject_id()
+ * @generated
+ * @ordered
+ */
+ protected String project_id = PROJECT_ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #getFirst_sample_timestamp() <em>First sample timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFirst_sample_timestamp()
+ * @generated
+ * @ordered
+ */
+ protected static final Date FIRST_SAMPLE_TIMESTAMP_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getFirst_sample_timestamp() <em>First sample timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFirst_sample_timestamp()
+ * @generated
+ * @ordered
+ */
+ protected Date first_sample_timestamp = FIRST_SAMPLE_TIMESTAMP_EDEFAULT;
+ /**
+ * The default value of the '{@link #getLast_sample_timestamp() <em>Last sample timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLast_sample_timestamp()
+ * @generated
+ * @ordered
+ */
+ protected static final Date LAST_SAMPLE_TIMESTAMP_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getLast_sample_timestamp() <em>Last sample timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLast_sample_timestamp()
+ * @generated
+ * @ordered
+ */
+ protected Date last_sample_timestamp = LAST_SAMPLE_TIMESTAMP_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getLinks() <em>Links</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Link> links;
+
+ /**
+ * The cached value of the '{@link #getMetadata() <em>Metadata</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetadata()
+ * @generated
+ * @ordered
+ */
+ protected Metadata metadata;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser_id(String newUser_id) {
+ String oldUser_id = user_id;
+ user_id = newUser_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__USER_ID, oldUser_id, user_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProject_id() {
+ return project_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProject_id(String newProject_id) {
+ String oldProject_id = project_id;
+ project_id = newProject_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__PROJECT_ID, oldProject_id, project_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getFirst_sample_timestamp() {
+ return first_sample_timestamp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirst_sample_timestamp(Date newFirst_sample_timestamp) {
+ Date oldFirst_sample_timestamp = first_sample_timestamp;
+ first_sample_timestamp = newFirst_sample_timestamp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP, oldFirst_sample_timestamp, first_sample_timestamp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getLast_sample_timestamp() {
+ return last_sample_timestamp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLast_sample_timestamp(Date newLast_sample_timestamp) {
+ Date oldLast_sample_timestamp = last_sample_timestamp;
+ last_sample_timestamp = newLast_sample_timestamp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP, oldLast_sample_timestamp, last_sample_timestamp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Link> getLinks() {
+ if (links == null) {
+ links = new EObjectContainmentEList<Link>(Link.class, this, CeilometerPackage.CEILOMETER_RESOURCE__LINKS);
+ }
+ return links;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Metadata getMetadata() {
+ return metadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMetadata(Metadata newMetadata, NotificationChain msgs) {
+ Metadata oldMetadata = metadata;
+ metadata = newMetadata;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__METADATA, oldMetadata, newMetadata);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMetadata(Metadata newMetadata) {
+ if (newMetadata != metadata) {
+ NotificationChain msgs = null;
+ if (metadata != null)
+ msgs = ((InternalEObject)metadata).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CeilometerPackage.CEILOMETER_RESOURCE__METADATA, null, msgs);
+ if (newMetadata != null)
+ msgs = ((InternalEObject)newMetadata).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CeilometerPackage.CEILOMETER_RESOURCE__METADATA, null, msgs);
+ msgs = basicSetMetadata(newMetadata, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_RESOURCE__METADATA, newMetadata, newMetadata));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_RESOURCE__LINKS:
+ return ((InternalEList<?>)getLinks()).basicRemove(otherEnd, msgs);
+ case CeilometerPackage.CEILOMETER_RESOURCE__METADATA:
+ return basicSetMetadata(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_RESOURCE__ID:
+ return getId();
+ case CeilometerPackage.CEILOMETER_RESOURCE__USER_ID:
+ return getUser_id();
+ case CeilometerPackage.CEILOMETER_RESOURCE__PROJECT_ID:
+ return getProject_id();
+ case CeilometerPackage.CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP:
+ return getFirst_sample_timestamp();
+ case CeilometerPackage.CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP:
+ return getLast_sample_timestamp();
+ case CeilometerPackage.CEILOMETER_RESOURCE__LINKS:
+ return getLinks();
+ case CeilometerPackage.CEILOMETER_RESOURCE__METADATA:
+ return getMetadata();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_RESOURCE__ID:
+ setId((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__USER_ID:
+ setUser_id((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__PROJECT_ID:
+ setProject_id((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP:
+ setFirst_sample_timestamp((Date)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP:
+ setLast_sample_timestamp((Date)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__LINKS:
+ getLinks().clear();
+ getLinks().addAll((Collection<? extends Link>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__METADATA:
+ setMetadata((Metadata)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_RESOURCE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__USER_ID:
+ setUser_id(USER_ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__PROJECT_ID:
+ setProject_id(PROJECT_ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP:
+ setFirst_sample_timestamp(FIRST_SAMPLE_TIMESTAMP_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP:
+ setLast_sample_timestamp(LAST_SAMPLE_TIMESTAMP_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__LINKS:
+ getLinks().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_RESOURCE__METADATA:
+ setMetadata((Metadata)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_RESOURCE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case CeilometerPackage.CEILOMETER_RESOURCE__USER_ID:
+ return USER_ID_EDEFAULT == null ? user_id != null : !USER_ID_EDEFAULT.equals(user_id);
+ case CeilometerPackage.CEILOMETER_RESOURCE__PROJECT_ID:
+ return PROJECT_ID_EDEFAULT == null ? project_id != null : !PROJECT_ID_EDEFAULT.equals(project_id);
+ case CeilometerPackage.CEILOMETER_RESOURCE__FIRST_SAMPLE_TIMESTAMP:
+ return FIRST_SAMPLE_TIMESTAMP_EDEFAULT == null ? first_sample_timestamp != null : !FIRST_SAMPLE_TIMESTAMP_EDEFAULT.equals(first_sample_timestamp);
+ case CeilometerPackage.CEILOMETER_RESOURCE__LAST_SAMPLE_TIMESTAMP:
+ return LAST_SAMPLE_TIMESTAMP_EDEFAULT == null ? last_sample_timestamp != null : !LAST_SAMPLE_TIMESTAMP_EDEFAULT.equals(last_sample_timestamp);
+ case CeilometerPackage.CEILOMETER_RESOURCE__LINKS:
+ return links != null && !links.isEmpty();
+ case CeilometerPackage.CEILOMETER_RESOURCE__METADATA:
+ return metadata != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", user_id: ");
+ result.append(user_id);
+ result.append(", project_id: ");
+ result.append(project_id);
+ result.append(", first_sample_timestamp: ");
+ result.append(first_sample_timestamp);
+ result.append(", last_sample_timestamp: ");
+ result.append(last_sample_timestamp);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerResourceImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerSampleImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerSampleImpl.java
new file mode 100644
index 0000000..d78ae86
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerSampleImpl.java
@@ -0,0 +1,672 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerSample;
+
+import java.util.Date;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sample</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getCounter_name <em>Counter name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getResource_id <em>Resource id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getTimestamp <em>Timestamp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getRecorded_at <em>Recorded at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getMessage_id <em>Message id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getCounter_unit <em>Counter unit</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getCounter_volume <em>Counter volume</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerSampleImpl#getProject_id <em>Project id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerSampleImpl extends MinimalEObjectImpl.Container implements CeilometerSample {
+ /**
+ * The default value of the '{@link #getCounter_name() <em>Counter name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounter_name()
+ * @generated
+ * @ordered
+ */
+ protected static final String COUNTER_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCounter_name() <em>Counter name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounter_name()
+ * @generated
+ * @ordered
+ */
+ protected String counter_name = COUNTER_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected String user_id = USER_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getResource_id() <em>Resource id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResource_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String RESOURCE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getResource_id() <em>Resource id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResource_id()
+ * @generated
+ * @ordered
+ */
+ protected String resource_id = RESOURCE_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimestamp()
+ * @generated
+ * @ordered
+ */
+ protected static final Date TIMESTAMP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimestamp()
+ * @generated
+ * @ordered
+ */
+ protected Date timestamp = TIMESTAMP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRecorded_at() <em>Recorded at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecorded_at()
+ * @generated
+ * @ordered
+ */
+ protected static final Date RECORDED_AT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRecorded_at() <em>Recorded at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecorded_at()
+ * @generated
+ * @ordered
+ */
+ protected Date recorded_at = RECORDED_AT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMessage_id() <em>Message id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessage_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String MESSAGE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMessage_id() <em>Message id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessage_id()
+ * @generated
+ * @ordered
+ */
+ protected String message_id = MESSAGE_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSource() <em>Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected String source = SOURCE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCounter_unit() <em>Counter unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounter_unit()
+ * @generated
+ * @ordered
+ */
+ protected static final String COUNTER_UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCounter_unit() <em>Counter unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounter_unit()
+ * @generated
+ * @ordered
+ */
+ protected String counter_unit = COUNTER_UNIT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCounter_volume() <em>Counter volume</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounter_volume()
+ * @generated
+ * @ordered
+ */
+ protected static final double COUNTER_VOLUME_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getCounter_volume() <em>Counter volume</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounter_volume()
+ * @generated
+ * @ordered
+ */
+ protected double counter_volume = COUNTER_VOLUME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProject_id() <em>Project id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProject_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROJECT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProject_id() <em>Project id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProject_id()
+ * @generated
+ * @ordered
+ */
+ protected String project_id = PROJECT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerSampleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_SAMPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCounter_name() {
+ return counter_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCounter_name(String newCounter_name) {
+ String oldCounter_name = counter_name;
+ counter_name = newCounter_name;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_NAME, oldCounter_name, counter_name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser_id(String newUser_id) {
+ String oldUser_id = user_id;
+ user_id = newUser_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__USER_ID, oldUser_id, user_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getResource_id() {
+ return resource_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResource_id(String newResource_id) {
+ String oldResource_id = resource_id;
+ resource_id = newResource_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__RESOURCE_ID, oldResource_id, resource_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTimestamp(Date newTimestamp) {
+ Date oldTimestamp = timestamp;
+ timestamp = newTimestamp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__TIMESTAMP, oldTimestamp, timestamp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getRecorded_at() {
+ return recorded_at;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRecorded_at(Date newRecorded_at) {
+ Date oldRecorded_at = recorded_at;
+ recorded_at = newRecorded_at;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__RECORDED_AT, oldRecorded_at, recorded_at));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMessage_id() {
+ return message_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessage_id(String newMessage_id) {
+ String oldMessage_id = message_id;
+ message_id = newMessage_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__MESSAGE_ID, oldMessage_id, message_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSource() {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSource(String newSource) {
+ String oldSource = source;
+ source = newSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__SOURCE, oldSource, source));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCounter_unit() {
+ return counter_unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCounter_unit(String newCounter_unit) {
+ String oldCounter_unit = counter_unit;
+ counter_unit = newCounter_unit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_UNIT, oldCounter_unit, counter_unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getCounter_volume() {
+ return counter_volume;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCounter_volume(double newCounter_volume) {
+ double oldCounter_volume = counter_volume;
+ counter_volume = newCounter_volume;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_VOLUME, oldCounter_volume, counter_volume));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProject_id() {
+ return project_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProject_id(String newProject_id) {
+ String oldProject_id = project_id;
+ project_id = newProject_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_SAMPLE__PROJECT_ID, oldProject_id, project_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_NAME:
+ return getCounter_name();
+ case CeilometerPackage.CEILOMETER_SAMPLE__USER_ID:
+ return getUser_id();
+ case CeilometerPackage.CEILOMETER_SAMPLE__RESOURCE_ID:
+ return getResource_id();
+ case CeilometerPackage.CEILOMETER_SAMPLE__TIMESTAMP:
+ return getTimestamp();
+ case CeilometerPackage.CEILOMETER_SAMPLE__RECORDED_AT:
+ return getRecorded_at();
+ case CeilometerPackage.CEILOMETER_SAMPLE__MESSAGE_ID:
+ return getMessage_id();
+ case CeilometerPackage.CEILOMETER_SAMPLE__SOURCE:
+ return getSource();
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_UNIT:
+ return getCounter_unit();
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_VOLUME:
+ return getCounter_volume();
+ case CeilometerPackage.CEILOMETER_SAMPLE__PROJECT_ID:
+ return getProject_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_NAME:
+ setCounter_name((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__USER_ID:
+ setUser_id((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__RESOURCE_ID:
+ setResource_id((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__TIMESTAMP:
+ setTimestamp((Date)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__RECORDED_AT:
+ setRecorded_at((Date)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__MESSAGE_ID:
+ setMessage_id((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__SOURCE:
+ setSource((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_UNIT:
+ setCounter_unit((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_VOLUME:
+ setCounter_volume((Double)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__PROJECT_ID:
+ setProject_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_NAME:
+ setCounter_name(COUNTER_NAME_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__USER_ID:
+ setUser_id(USER_ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__RESOURCE_ID:
+ setResource_id(RESOURCE_ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__TIMESTAMP:
+ setTimestamp(TIMESTAMP_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__RECORDED_AT:
+ setRecorded_at(RECORDED_AT_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__MESSAGE_ID:
+ setMessage_id(MESSAGE_ID_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__SOURCE:
+ setSource(SOURCE_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_UNIT:
+ setCounter_unit(COUNTER_UNIT_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_VOLUME:
+ setCounter_volume(COUNTER_VOLUME_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_SAMPLE__PROJECT_ID:
+ setProject_id(PROJECT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_NAME:
+ return COUNTER_NAME_EDEFAULT == null ? counter_name != null : !COUNTER_NAME_EDEFAULT.equals(counter_name);
+ case CeilometerPackage.CEILOMETER_SAMPLE__USER_ID:
+ return USER_ID_EDEFAULT == null ? user_id != null : !USER_ID_EDEFAULT.equals(user_id);
+ case CeilometerPackage.CEILOMETER_SAMPLE__RESOURCE_ID:
+ return RESOURCE_ID_EDEFAULT == null ? resource_id != null : !RESOURCE_ID_EDEFAULT.equals(resource_id);
+ case CeilometerPackage.CEILOMETER_SAMPLE__TIMESTAMP:
+ return TIMESTAMP_EDEFAULT == null ? timestamp != null : !TIMESTAMP_EDEFAULT.equals(timestamp);
+ case CeilometerPackage.CEILOMETER_SAMPLE__RECORDED_AT:
+ return RECORDED_AT_EDEFAULT == null ? recorded_at != null : !RECORDED_AT_EDEFAULT.equals(recorded_at);
+ case CeilometerPackage.CEILOMETER_SAMPLE__MESSAGE_ID:
+ return MESSAGE_ID_EDEFAULT == null ? message_id != null : !MESSAGE_ID_EDEFAULT.equals(message_id);
+ case CeilometerPackage.CEILOMETER_SAMPLE__SOURCE:
+ return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_UNIT:
+ return COUNTER_UNIT_EDEFAULT == null ? counter_unit != null : !COUNTER_UNIT_EDEFAULT.equals(counter_unit);
+ case CeilometerPackage.CEILOMETER_SAMPLE__COUNTER_VOLUME:
+ return counter_volume != COUNTER_VOLUME_EDEFAULT;
+ case CeilometerPackage.CEILOMETER_SAMPLE__PROJECT_ID:
+ return PROJECT_ID_EDEFAULT == null ? project_id != null : !PROJECT_ID_EDEFAULT.equals(project_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (counter_name: ");
+ result.append(counter_name);
+ result.append(", user_id: ");
+ result.append(user_id);
+ result.append(", resource_id: ");
+ result.append(resource_id);
+ result.append(", timestamp: ");
+ result.append(timestamp);
+ result.append(", recorded_at: ");
+ result.append(recorded_at);
+ result.append(", message_id: ");
+ result.append(message_id);
+ result.append(", source: ");
+ result.append(source);
+ result.append(", counter_unit: ");
+ result.append(counter_unit);
+ result.append(", counter_volume: ");
+ result.append(counter_volume);
+ result.append(", project_id: ");
+ result.append(project_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerSampleImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerServiceImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerServiceImpl.java
new file mode 100644
index 0000000..2bbd7bc
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerServiceImpl.java
@@ -0,0 +1,256 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerSample;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService;
+import org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest;
+import org.openecomp.ncomp.openstack.ceilometer.SampleRequest;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerServiceImpl#getCeilometerAvailableCapabilites <em>Ceilometer Available Capabilites</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerServiceImpl#getCeilometerUnavailableCapabilites <em>Ceilometer Unavailable Capabilites</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class CeilometerServiceImpl extends MinimalEObjectImpl.Container implements CeilometerService {
+ /**
+ * The cached value of the '{@link #getCeilometerAvailableCapabilites() <em>Ceilometer Available Capabilites</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCeilometerAvailableCapabilites()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ceilometerAvailableCapabilites;
+ /**
+ * The cached value of the '{@link #getCeilometerUnavailableCapabilites() <em>Ceilometer Unavailable Capabilites</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCeilometerUnavailableCapabilites()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ceilometerUnavailableCapabilites;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getCeilometerAvailableCapabilites() {
+ if (ceilometerAvailableCapabilites == null) {
+ ceilometerAvailableCapabilites = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES);
+ }
+ return ceilometerAvailableCapabilites;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getCeilometerUnavailableCapabilites() {
+ if (ceilometerUnavailableCapabilites == null) {
+ ceilometerUnavailableCapabilites = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES);
+ }
+ return ceilometerUnavailableCapabilites;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerAlarm createAlarm(CreateAlarmRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteAlarm(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerSample> createAlarm(SampleRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES:
+ return getCeilometerAvailableCapabilites();
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ return getCeilometerUnavailableCapabilites();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES:
+ getCeilometerAvailableCapabilites().clear();
+ getCeilometerAvailableCapabilites().addAll((Collection<? extends String>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ getCeilometerUnavailableCapabilites().clear();
+ getCeilometerUnavailableCapabilites().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES:
+ getCeilometerAvailableCapabilites().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ getCeilometerUnavailableCapabilites().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES:
+ return ceilometerAvailableCapabilites != null && !ceilometerAvailableCapabilites.isEmpty();
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ return ceilometerUnavailableCapabilites != null && !ceilometerUnavailableCapabilites.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case CeilometerPackage.CEILOMETER_SERVICE___CREATE_ALARM__CREATEALARMREQUEST:
+ return createAlarm((CreateAlarmRequest)arguments.get(0));
+ case CeilometerPackage.CEILOMETER_SERVICE___DELETE_ALARM__STRING_STRING:
+ deleteAlarm((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case CeilometerPackage.CEILOMETER_SERVICE___CREATE_ALARM__SAMPLEREQUEST:
+ return createAlarm((SampleRequest)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ceilometerAvailableCapabilites: ");
+ result.append(ceilometerAvailableCapabilites);
+ result.append(", ceilometerUnavailableCapabilites: ");
+ result.append(ceilometerUnavailableCapabilites);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerServiceImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmImpl.java
new file mode 100644
index 0000000..76b8b78
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmImpl.java
@@ -0,0 +1,194 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Threshold Alarm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmImpl#getThreshold_rule <em>Threshold rule</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerThresholdAlarmImpl extends CeilometerAlarmImpl implements CeilometerThresholdAlarm {
+ /**
+ * The cached value of the '{@link #getThreshold_rule() <em>Threshold rule</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThreshold_rule()
+ * @generated
+ * @ordered
+ */
+ protected CeilometerThresholdAlarmRule threshold_rule;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerThresholdAlarmImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_THRESHOLD_ALARM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerThresholdAlarmRule getThreshold_rule() {
+ return threshold_rule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetThreshold_rule(CeilometerThresholdAlarmRule newThreshold_rule, NotificationChain msgs) {
+ CeilometerThresholdAlarmRule oldThreshold_rule = threshold_rule;
+ threshold_rule = newThreshold_rule;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE, oldThreshold_rule, newThreshold_rule);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setThreshold_rule(CeilometerThresholdAlarmRule newThreshold_rule) {
+ if (newThreshold_rule != threshold_rule) {
+ NotificationChain msgs = null;
+ if (threshold_rule != null)
+ msgs = ((InternalEObject)threshold_rule).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE, null, msgs);
+ if (newThreshold_rule != null)
+ msgs = ((InternalEObject)newThreshold_rule).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE, null, msgs);
+ msgs = basicSetThreshold_rule(newThreshold_rule, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE, newThreshold_rule, newThreshold_rule));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE:
+ return basicSetThreshold_rule(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE:
+ return getThreshold_rule();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE:
+ setThreshold_rule((CeilometerThresholdAlarmRule)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE:
+ setThreshold_rule((CeilometerThresholdAlarmRule)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM__THRESHOLD_RULE:
+ return threshold_rule != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CeilometerThresholdAlarmImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmRuleImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmRuleImpl.java
new file mode 100644
index 0000000..f00512c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CeilometerThresholdAlarmRuleImpl.java
@@ -0,0 +1,551 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Threshold Alarm Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getMeter_name <em>Meter name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getEvaluation_periods <em>Evaluation periods</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getStatistic <em>Statistic</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getThreshold <em>Threshold</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getComparison_operator <em>Comparison operator</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.CeilometerThresholdAlarmRuleImpl#getExclude_outliers <em>Exclude outliers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CeilometerThresholdAlarmRuleImpl extends MinimalEObjectImpl.Container implements CeilometerThresholdAlarmRule {
+ /**
+ * The default value of the '{@link #getMeter_name() <em>Meter name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeter_name()
+ * @generated
+ * @ordered
+ */
+ protected static final String METER_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMeter_name() <em>Meter name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeter_name()
+ * @generated
+ * @ordered
+ */
+ protected String meter_name = METER_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEvaluation_periods() <em>Evaluation periods</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvaluation_periods()
+ * @generated
+ * @ordered
+ */
+ protected static final Long EVALUATION_PERIODS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEvaluation_periods() <em>Evaluation periods</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvaluation_periods()
+ * @generated
+ * @ordered
+ */
+ protected Long evaluation_periods = EVALUATION_PERIODS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeriod()
+ * @generated
+ * @ordered
+ */
+ protected static final Long PERIOD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPeriod() <em>Period</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeriod()
+ * @generated
+ * @ordered
+ */
+ protected Long period = PERIOD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatistic() <em>Statistic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatistic()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATISTIC_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatistic() <em>Statistic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatistic()
+ * @generated
+ * @ordered
+ */
+ protected String statistic = STATISTIC_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getThreshold() <em>Threshold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThreshold()
+ * @generated
+ * @ordered
+ */
+ protected static final double THRESHOLD_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getThreshold() <em>Threshold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThreshold()
+ * @generated
+ * @ordered
+ */
+ protected double threshold = THRESHOLD_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> query;
+
+ /**
+ * The default value of the '{@link #getComparison_operator() <em>Comparison operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComparison_operator()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMPARISON_OPERATOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getComparison_operator() <em>Comparison operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComparison_operator()
+ * @generated
+ * @ordered
+ */
+ protected String comparison_operator = COMPARISON_OPERATOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExclude_outliers() <em>Exclude outliers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExclude_outliers()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean EXCLUDE_OUTLIERS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExclude_outliers() <em>Exclude outliers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExclude_outliers()
+ * @generated
+ * @ordered
+ */
+ protected Boolean exclude_outliers = EXCLUDE_OUTLIERS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerThresholdAlarmRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CEILOMETER_THRESHOLD_ALARM_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMeter_name() {
+ return meter_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeter_name(String newMeter_name) {
+ String oldMeter_name = meter_name;
+ meter_name = newMeter_name;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME, oldMeter_name, meter_name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getEvaluation_periods() {
+ return evaluation_periods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEvaluation_periods(Long newEvaluation_periods) {
+ Long oldEvaluation_periods = evaluation_periods;
+ evaluation_periods = newEvaluation_periods;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS, oldEvaluation_periods, evaluation_periods));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getPeriod() {
+ return period;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPeriod(Long newPeriod) {
+ Long oldPeriod = period;
+ period = newPeriod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD, oldPeriod, period));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatistic() {
+ return statistic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatistic(String newStatistic) {
+ String oldStatistic = statistic;
+ statistic = newStatistic;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC, oldStatistic, statistic));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getThreshold() {
+ return threshold;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setThreshold(double newThreshold) {
+ double oldThreshold = threshold;
+ threshold = newThreshold;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD, oldThreshold, threshold));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getQuery() {
+ if (query == null) {
+ query = new EDataTypeEList<String>(String.class, this, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__QUERY);
+ }
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getComparison_operator() {
+ return comparison_operator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComparison_operator(String newComparison_operator) {
+ String oldComparison_operator = comparison_operator;
+ comparison_operator = newComparison_operator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR, oldComparison_operator, comparison_operator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getExclude_outliers() {
+ return exclude_outliers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExclude_outliers(Boolean newExclude_outliers) {
+ Boolean oldExclude_outliers = exclude_outliers;
+ exclude_outliers = newExclude_outliers;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS, oldExclude_outliers, exclude_outliers));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME:
+ return getMeter_name();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS:
+ return getEvaluation_periods();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD:
+ return getPeriod();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC:
+ return getStatistic();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD:
+ return getThreshold();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__QUERY:
+ return getQuery();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR:
+ return getComparison_operator();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS:
+ return getExclude_outliers();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME:
+ setMeter_name((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS:
+ setEvaluation_periods((Long)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD:
+ setPeriod((Long)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC:
+ setStatistic((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD:
+ setThreshold((Double)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__QUERY:
+ getQuery().clear();
+ getQuery().addAll((Collection<? extends String>)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR:
+ setComparison_operator((String)newValue);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS:
+ setExclude_outliers((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME:
+ setMeter_name(METER_NAME_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS:
+ setEvaluation_periods(EVALUATION_PERIODS_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD:
+ setPeriod(PERIOD_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC:
+ setStatistic(STATISTIC_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD:
+ setThreshold(THRESHOLD_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__QUERY:
+ getQuery().clear();
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR:
+ setComparison_operator(COMPARISON_OPERATOR_EDEFAULT);
+ return;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS:
+ setExclude_outliers(EXCLUDE_OUTLIERS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__METER_NAME:
+ return METER_NAME_EDEFAULT == null ? meter_name != null : !METER_NAME_EDEFAULT.equals(meter_name);
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EVALUATION_PERIODS:
+ return EVALUATION_PERIODS_EDEFAULT == null ? evaluation_periods != null : !EVALUATION_PERIODS_EDEFAULT.equals(evaluation_periods);
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__PERIOD:
+ return PERIOD_EDEFAULT == null ? period != null : !PERIOD_EDEFAULT.equals(period);
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__STATISTIC:
+ return STATISTIC_EDEFAULT == null ? statistic != null : !STATISTIC_EDEFAULT.equals(statistic);
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__THRESHOLD:
+ return threshold != THRESHOLD_EDEFAULT;
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__QUERY:
+ return query != null && !query.isEmpty();
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__COMPARISON_OPERATOR:
+ return COMPARISON_OPERATOR_EDEFAULT == null ? comparison_operator != null : !COMPARISON_OPERATOR_EDEFAULT.equals(comparison_operator);
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE__EXCLUDE_OUTLIERS:
+ return EXCLUDE_OUTLIERS_EDEFAULT == null ? exclude_outliers != null : !EXCLUDE_OUTLIERS_EDEFAULT.equals(exclude_outliers);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (meter_name: ");
+ result.append(meter_name);
+ result.append(", evaluation_periods: ");
+ result.append(evaluation_periods);
+ result.append(", period: ");
+ result.append(period);
+ result.append(", statistic: ");
+ result.append(statistic);
+ result.append(", threshold: ");
+ result.append(threshold);
+ result.append(", query: ");
+ result.append(query);
+ result.append(", comparison_operator: ");
+ result.append(comparison_operator);
+ result.append(", exclude_outliers: ");
+ result.append(exclude_outliers);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CeilometerThresholdAlarmRuleImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CreateAlarmRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CreateAlarmRequestImpl.java
new file mode 100644
index 0000000..baf0ede
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/CreateAlarmRequestImpl.java
@@ -0,0 +1,60 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Alarm Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CreateAlarmRequestImpl extends CeilometerRequestImpl implements CreateAlarmRequest {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateAlarmRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.CREATE_ALARM_REQUEST;
+ }
+
+} //CreateAlarmRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/SampleRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/SampleRequestImpl.java
new file mode 100644
index 0000000..f8b2209
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/impl/SampleRequestImpl.java
@@ -0,0 +1,196 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.impl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery;
+import org.openecomp.ncomp.openstack.ceilometer.SampleRequest;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sample Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.ceilometer.impl.SampleRequestImpl#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SampleRequestImpl extends CeilometerRequestImpl implements SampleRequest {
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected CeilometerQuery query;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SampleRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CeilometerPackage.Literals.SAMPLE_REQUEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerQuery getQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQuery(CeilometerQuery newQuery, NotificationChain msgs) {
+ CeilometerQuery oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CeilometerPackage.SAMPLE_REQUEST__QUERY, oldQuery, newQuery);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(CeilometerQuery newQuery) {
+ if (newQuery != query) {
+ NotificationChain msgs = null;
+ if (query != null)
+ msgs = ((InternalEObject)query).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CeilometerPackage.SAMPLE_REQUEST__QUERY, null, msgs);
+ if (newQuery != null)
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CeilometerPackage.SAMPLE_REQUEST__QUERY, null, msgs);
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CeilometerPackage.SAMPLE_REQUEST__QUERY, newQuery, newQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CeilometerPackage.SAMPLE_REQUEST__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CeilometerPackage.SAMPLE_REQUEST__QUERY:
+ return getQuery();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CeilometerPackage.SAMPLE_REQUEST__QUERY:
+ setQuery((CeilometerQuery)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.SAMPLE_REQUEST__QUERY:
+ setQuery((CeilometerQuery)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CeilometerPackage.SAMPLE_REQUEST__QUERY:
+ return query != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SampleRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerAdapterFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerAdapterFactory.java
new file mode 100644
index 0000000..8978596
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerAdapterFactory.java
@@ -0,0 +1,414 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+import org.openecomp.ncomp.openstack.ceilometer.*;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage
+ * @generated
+ */
+public class CeilometerAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CeilometerPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = CeilometerPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CeilometerSwitch<Adapter> modelSwitch =
+ new CeilometerSwitch<Adapter>() {
+ @Override
+ public Adapter caseCeilometerService(CeilometerService object) {
+ return createCeilometerServiceAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerProject(CeilometerProject object) {
+ return createCeilometerProjectAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerAlarm(CeilometerAlarm object) {
+ return createCeilometerAlarmAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerThresholdAlarm(CeilometerThresholdAlarm object) {
+ return createCeilometerThresholdAlarmAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerThresholdAlarmRule(CeilometerThresholdAlarmRule object) {
+ return createCeilometerThresholdAlarmRuleAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerResource(CeilometerResource object) {
+ return createCeilometerResourceAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerMeter(CeilometerMeter object) {
+ return createCeilometerMeterAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerQuery(CeilometerQuery object) {
+ return createCeilometerQueryAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerFilter(CeilometerFilter object) {
+ return createCeilometerFilterAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerOrderedBy(CeilometerOrderedBy object) {
+ return createCeilometerOrderedByAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerRequest(CeilometerRequest object) {
+ return createCeilometerRequestAdapter();
+ }
+ @Override
+ public Adapter caseCreateAlarmRequest(CreateAlarmRequest object) {
+ return createCreateAlarmRequestAdapter();
+ }
+ @Override
+ public Adapter caseSampleRequest(SampleRequest object) {
+ return createSampleRequestAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerSample(CeilometerSample object) {
+ return createCeilometerSampleAdapter();
+ }
+ @Override
+ public Adapter caseNamedEntity(NamedEntity object) {
+ return createNamedEntityAdapter();
+ }
+ @Override
+ public Adapter caseOpenStackRequest(OpenStackRequest object) {
+ return createOpenStackRequestAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService
+ * @generated
+ */
+ public Adapter createCeilometerServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject <em>Project</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerProject
+ * @generated
+ */
+ public Adapter createCeilometerProjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm <em>Alarm</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm
+ * @generated
+ */
+ public Adapter createCeilometerAlarmAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm <em>Threshold Alarm</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarm
+ * @generated
+ */
+ public Adapter createCeilometerThresholdAlarmAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule <em>Threshold Alarm Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerThresholdAlarmRule
+ * @generated
+ */
+ public Adapter createCeilometerThresholdAlarmRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerResource
+ * @generated
+ */
+ public Adapter createCeilometerResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter <em>Meter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter
+ * @generated
+ */
+ public Adapter createCeilometerMeterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerQuery
+ * @generated
+ */
+ public Adapter createCeilometerQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter <em>Filter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerFilter
+ * @generated
+ */
+ public Adapter createCeilometerFilterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy <em>Ordered By</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerOrderedBy
+ * @generated
+ */
+ public Adapter createCeilometerOrderedByAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerRequest <em>Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerRequest
+ * @generated
+ */
+ public Adapter createCeilometerRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest <em>Create Alarm Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest
+ * @generated
+ */
+ public Adapter createCreateAlarmRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.SampleRequest <em>Sample Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.SampleRequest
+ * @generated
+ */
+ public Adapter createSampleRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerSample <em>Sample</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerSample
+ * @generated
+ */
+ public Adapter createCeilometerSampleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.core.NamedEntity <em>Named Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.core.NamedEntity
+ * @generated
+ */
+ public Adapter createNamedEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest <em>Open Stack Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.OpenStackRequest
+ * @generated
+ */
+ public Adapter createOpenStackRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //CeilometerAdapterFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerSwitch.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerSwitch.java
new file mode 100644
index 0000000..6e3efb0
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/ceilometer/util/CeilometerSwitch.java
@@ -0,0 +1,445 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.ceilometer.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+import org.openecomp.ncomp.openstack.ceilometer.*;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage
+ * @generated
+ */
+public class CeilometerSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CeilometerPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerSwitch() {
+ if (modelPackage == null) {
+ modelPackage = CeilometerPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case CeilometerPackage.CEILOMETER_SERVICE: {
+ CeilometerService ceilometerService = (CeilometerService)theEObject;
+ T result = caseCeilometerService(ceilometerService);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_PROJECT: {
+ CeilometerProject ceilometerProject = (CeilometerProject)theEObject;
+ T result = caseCeilometerProject(ceilometerProject);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_ALARM: {
+ CeilometerAlarm ceilometerAlarm = (CeilometerAlarm)theEObject;
+ T result = caseCeilometerAlarm(ceilometerAlarm);
+ if (result == null) result = caseNamedEntity(ceilometerAlarm);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM: {
+ CeilometerThresholdAlarm ceilometerThresholdAlarm = (CeilometerThresholdAlarm)theEObject;
+ T result = caseCeilometerThresholdAlarm(ceilometerThresholdAlarm);
+ if (result == null) result = caseCeilometerAlarm(ceilometerThresholdAlarm);
+ if (result == null) result = caseNamedEntity(ceilometerThresholdAlarm);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_THRESHOLD_ALARM_RULE: {
+ CeilometerThresholdAlarmRule ceilometerThresholdAlarmRule = (CeilometerThresholdAlarmRule)theEObject;
+ T result = caseCeilometerThresholdAlarmRule(ceilometerThresholdAlarmRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_RESOURCE: {
+ CeilometerResource ceilometerResource = (CeilometerResource)theEObject;
+ T result = caseCeilometerResource(ceilometerResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_METER: {
+ CeilometerMeter ceilometerMeter = (CeilometerMeter)theEObject;
+ T result = caseCeilometerMeter(ceilometerMeter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_QUERY: {
+ CeilometerQuery ceilometerQuery = (CeilometerQuery)theEObject;
+ T result = caseCeilometerQuery(ceilometerQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_FILTER: {
+ CeilometerFilter ceilometerFilter = (CeilometerFilter)theEObject;
+ T result = caseCeilometerFilter(ceilometerFilter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_ORDERED_BY: {
+ CeilometerOrderedBy ceilometerOrderedBy = (CeilometerOrderedBy)theEObject;
+ T result = caseCeilometerOrderedBy(ceilometerOrderedBy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_REQUEST: {
+ CeilometerRequest ceilometerRequest = (CeilometerRequest)theEObject;
+ T result = caseCeilometerRequest(ceilometerRequest);
+ if (result == null) result = caseOpenStackRequest(ceilometerRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CREATE_ALARM_REQUEST: {
+ CreateAlarmRequest createAlarmRequest = (CreateAlarmRequest)theEObject;
+ T result = caseCreateAlarmRequest(createAlarmRequest);
+ if (result == null) result = caseCeilometerRequest(createAlarmRequest);
+ if (result == null) result = caseOpenStackRequest(createAlarmRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.SAMPLE_REQUEST: {
+ SampleRequest sampleRequest = (SampleRequest)theEObject;
+ T result = caseSampleRequest(sampleRequest);
+ if (result == null) result = caseCeilometerRequest(sampleRequest);
+ if (result == null) result = caseOpenStackRequest(sampleRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CeilometerPackage.CEILOMETER_SAMPLE: {
+ CeilometerSample ceilometerSample = (CeilometerSample)theEObject;
+ T result = caseCeilometerSample(ceilometerSample);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerService(CeilometerService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Project</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Project</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerProject(CeilometerProject object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Alarm</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Alarm</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerAlarm(CeilometerAlarm object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Threshold Alarm</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Threshold Alarm</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerThresholdAlarm(CeilometerThresholdAlarm object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Threshold Alarm Rule</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Threshold Alarm Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerThresholdAlarmRule(CeilometerThresholdAlarmRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerResource(CeilometerResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Meter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Meter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerMeter(CeilometerMeter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerQuery(CeilometerQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Filter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Filter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerFilter(CeilometerFilter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ordered By</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ordered By</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerOrderedBy(CeilometerOrderedBy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerRequest(CeilometerRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create Alarm Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Create Alarm Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreateAlarmRequest(CreateAlarmRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sample Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sample Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSampleRequest(SampleRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sample</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sample</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerSample(CeilometerSample object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedEntity(NamedEntity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackRequest(OpenStackRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //CeilometerSwitch
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Address.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Address.java
new file mode 100644
index 0000000..4a40fd3
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Address.java
@@ -0,0 +1,152 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Address</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Address#getVersion <em>Version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Address#getAddr <em>Addr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_MAC_mac_addr <em>OS EXT IPS MAC mac addr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_type <em>OS EXT IPS type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddress()
+ * @model
+ * @generated
+ */
+public interface Address extends EObject {
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddress_Version()
+ * @model unique="false"
+ * @generated
+ */
+ int getVersion();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Address#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(int value);
+
+ /**
+ * Returns the value of the '<em><b>Addr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Addr</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Addr</em>' attribute.
+ * @see #setAddr(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddress_Addr()
+ * @model unique="false"
+ * @generated
+ */
+ String getAddr();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Address#getAddr <em>Addr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Addr</em>' attribute.
+ * @see #getAddr()
+ * @generated
+ */
+ void setAddr(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT IPS MAC mac addr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT IPS MAC mac addr</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT IPS MAC mac addr</em>' attribute.
+ * @see #setOS_EXT_IPS_MAC_mac_addr(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddress_OS_EXT_IPS_MAC_mac_addr()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_IPS_MAC_mac_addr();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_MAC_mac_addr <em>OS EXT IPS MAC mac addr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT IPS MAC mac addr</em>' attribute.
+ * @see #getOS_EXT_IPS_MAC_mac_addr()
+ * @generated
+ */
+ void setOS_EXT_IPS_MAC_mac_addr(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT IPS type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT IPS type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT IPS type</em>' attribute.
+ * @see #setOS_EXT_IPS_type(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddress_OS_EXT_IPS_type()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_IPS_type();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_type <em>OS EXT IPS type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT IPS type</em>' attribute.
+ * @see #getOS_EXT_IPS_type()
+ * @generated
+ */
+ void setOS_EXT_IPS_type(String value);
+
+} // Address
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Addresses.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Addresses.java
new file mode 100644
index 0000000..62fffe8
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Addresses.java
@@ -0,0 +1,90 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Addresses</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Addresses#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Addresses#getIps <em>Ips</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddresses()
+ * @model
+ * @generated
+ */
+public interface Addresses extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddresses_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Addresses#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ips</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Address}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ips</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ips</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getAddresses_Ips()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Address> getIps();
+
+} // Addresses
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeFactory.java
new file mode 100644
index 0000000..259b104
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeFactory.java
@@ -0,0 +1,261 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage
+ * @generated
+ */
+public interface ComputeFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ComputeFactory eINSTANCE = org.openecomp.ncomp.openstack.compute.impl.ComputeFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request New Server</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request New Server</em>'.
+ * @generated
+ */
+ OpenstackRequestNewServer createOpenstackRequestNewServer();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Key Pair</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Key Pair</em>'.
+ * @generated
+ */
+ OpenstackRequestKeyPair createOpenstackRequestKeyPair();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Flavor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Flavor</em>'.
+ * @generated
+ */
+ OpenstackRequestFlavor createOpenstackRequestFlavor();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Security Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Security Group</em>'.
+ * @generated
+ */
+ OpenstackRequestSecurityGroup createOpenstackRequestSecurityGroup();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Server Action</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Server Action</em>'.
+ * @generated
+ */
+ OpenstackRequestServerAction createOpenstackRequestServerAction();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Poll</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Poll</em>'.
+ * @generated
+ */
+ OpenstackRequestPoll createOpenstackRequestPoll();
+
+ /**
+ * Returns a new object of class '<em>Server</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Server</em>'.
+ * @generated
+ */
+ Server createServer();
+
+ /**
+ * Returns a new object of class '<em>Image</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Image</em>'.
+ * @generated
+ */
+ Image createImage();
+
+ /**
+ * Returns a new object of class '<em>Flavor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Flavor</em>'.
+ * @generated
+ */
+ Flavor createFlavor();
+
+ /**
+ * Returns a new object of class '<em>Addresses</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Addresses</em>'.
+ * @generated
+ */
+ Addresses createAddresses();
+
+ /**
+ * Returns a new object of class '<em>Address</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Address</em>'.
+ * @generated
+ */
+ Address createAddress();
+
+ /**
+ * Returns a new object of class '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link</em>'.
+ * @generated
+ */
+ Link createLink();
+
+ /**
+ * Returns a new object of class '<em>Metadata</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Metadata</em>'.
+ * @generated
+ */
+ Metadata createMetadata();
+
+ /**
+ * Returns a new object of class '<em>Fault</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Fault</em>'.
+ * @generated
+ */
+ Fault createFault();
+
+ /**
+ * Returns a new object of class '<em>Personality</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Personality</em>'.
+ * @generated
+ */
+ Personality createPersonality();
+
+ /**
+ * Returns a new object of class '<em>Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Reference</em>'.
+ * @generated
+ */
+ Reference createReference();
+
+ /**
+ * Returns a new object of class '<em>Volume</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Volume</em>'.
+ * @generated
+ */
+ Volume createVolume();
+
+ /**
+ * Returns a new object of class '<em>Volume Attachment</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Volume Attachment</em>'.
+ * @generated
+ */
+ VolumeAttachment createVolumeAttachment();
+
+ /**
+ * Returns a new object of class '<em>Floating Ip</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Floating Ip</em>'.
+ * @generated
+ */
+ FloatingIp createFloatingIp();
+
+ /**
+ * Returns a new object of class '<em>Security Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Group</em>'.
+ * @generated
+ */
+ SecurityGroup createSecurityGroup();
+
+ /**
+ * Returns a new object of class '<em>Security Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Rule</em>'.
+ * @generated
+ */
+ SecurityRule createSecurityRule();
+
+ /**
+ * Returns a new object of class '<em>Security Range</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Range</em>'.
+ * @generated
+ */
+ SecurityRange createSecurityRange();
+
+ /**
+ * Returns a new object of class '<em>Key Pair</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Key Pair</em>'.
+ * @generated
+ */
+ KeyPair createKeyPair();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ComputePackage getComputePackage();
+
+} //ComputeFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputePackage.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputePackage.java
new file mode 100644
index 0000000..c6ca7c1
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputePackage.java
@@ -0,0 +1,5045 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.ComputeFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/ncomp-openstack-model/src/main/xcore-gen' basePackage='org.openecomp.ncomp.openstack'"
+ * @generated
+ */
+public interface ComputePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "compute";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.ncomp.openstack.compute";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "compute";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ComputePackage eINSTANCE = org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.ComputeServiceImpl <em>Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputeServiceImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getComputeService()
+ * @generated
+ */
+ int COMPUTE_SERVICE = 0;
+
+ /**
+ * The number of structural features of the '<em>Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE_FEATURE_COUNT = 0;
+
+ /**
+ * The operation id for the '<em>Create Server</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER = 0;
+
+ /**
+ * The operation id for the '<em>Delete Server</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___DELETE_SERVER__STRING_STRING = 1;
+
+ /**
+ * The operation id for the '<em>Create Key Pair</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR = 2;
+
+ /**
+ * The operation id for the '<em>Delete</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___DELETE__OPENSTACKREQUESTDELETE = 3;
+
+ /**
+ * The operation id for the '<em>Create Flavor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR = 4;
+
+ /**
+ * The operation id for the '<em>Create Security Group</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP = 5;
+
+ /**
+ * The operation id for the '<em>Server Action</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION = 6;
+
+ /**
+ * The operation id for the '<em>Deploy Vm Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___DEPLOY_VM_TYPE__STRING_STRING = 7;
+
+ /**
+ * The operation id for the '<em>Undeploy Vm Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___UNDEPLOY_VM_TYPE__STRING_STRING = 8;
+
+ /**
+ * The operation id for the '<em>Deploy User</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___DEPLOY_USER__USER_STRING = 9;
+
+ /**
+ * The operation id for the '<em>Undeploy User</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE___UNDEPLOY_USER__USER_STRING = 10;
+
+ /**
+ * The number of operations of the '<em>Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPUTE_SERVICE_OPERATION_COUNT = 11;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl <em>Openstack Request New Server</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestNewServer()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER = 1;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__NAME = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Hypervisor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>User</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__USER = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Networks</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__NETWORKS = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__PORTS = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>User data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__USER_DATA = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Floating Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Vm Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request New Server</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Openstack Request New Server</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_NEW_SERVER_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestKeyPairImpl <em>Openstack Request Key Pair</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestKeyPairImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestKeyPair()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_KEY_PAIR = 2;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_KEY_PAIR__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>User</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_KEY_PAIR__USER = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Key Pair</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_KEY_PAIR_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Key Pair</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_KEY_PAIR_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestFlavorImpl <em>Openstack Request Flavor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestFlavorImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestFlavor()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_FLAVOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_FLAVOR__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Vm Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_FLAVOR__VM_TYPE = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Flavor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_FLAVOR_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Flavor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_FLAVOR_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestSecurityGroupImpl <em>Openstack Request Security Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestSecurityGroupImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestSecurityGroup()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_SECURITY_GROUP = 4;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SECURITY_GROUP__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Vm Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Security Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SECURITY_GROUP_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Security Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SECURITY_GROUP_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestServerActionImpl <em>Openstack Request Server Action</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestServerActionImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestServerAction()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_SERVER_ACTION = 5;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SERVER_ACTION__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SERVER_ACTION__NAME = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Action</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SERVER_ACTION__ACTION = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Server Action</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SERVER_ACTION_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Server Action</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_SERVER_ACTION_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestPollImpl <em>Openstack Request Poll</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestPollImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestPoll()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_POLL = 6;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_POLL__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Poll</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_POLL_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Poll</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_POLL_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl <em>Server</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ServerImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getServer()
+ * @generated
+ */
+ int SERVER = 7;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__TENANT_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__USER_ID = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__NAME = 3;
+
+ /**
+ * The feature id for the '<em><b>Updated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__UPDATED = 4;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__CREATED = 5;
+
+ /**
+ * The feature id for the '<em><b>Host Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__HOST_ID = 6;
+
+ /**
+ * The feature id for the '<em><b>Access IPv4</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__ACCESS_IPV4 = 7;
+
+ /**
+ * The feature id for the '<em><b>Access IPv6</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__ACCESS_IPV6 = 8;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__STATUS = 9;
+
+ /**
+ * The feature id for the '<em><b>Config drive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__CONFIG_DRIVE = 10;
+
+ /**
+ * The feature id for the '<em><b>Key name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__KEY_NAME = 11;
+
+ /**
+ * The feature id for the '<em><b>Progress</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__PROGRESS = 12;
+
+ /**
+ * The feature id for the '<em><b>OS DCF disk Config</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_DCF_DISK_CONFIG = 13;
+
+ /**
+ * The feature id for the '<em><b>OS EXT STS power state</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_EXT_STS_POWER_STATE = 14;
+
+ /**
+ * The feature id for the '<em><b>OS EXT STS vm state</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_EXT_STS_VM_STATE = 15;
+
+ /**
+ * The feature id for the '<em><b>OS EXT STS task state</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_EXT_STS_TASK_STATE = 16;
+
+ /**
+ * The feature id for the '<em><b>OS EXT SRV ATTR host</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_EXT_SRV_ATTR_HOST = 17;
+
+ /**
+ * The feature id for the '<em><b>OS EXT SRV ATTR instance name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME = 18;
+
+ /**
+ * The feature id for the '<em><b>OS EXT SRV ATTR hypervisor hostname</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME = 19;
+
+ /**
+ * The feature id for the '<em><b>OS SRV USG launched at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_SRV_USG_LAUNCHED_AT = 20;
+
+ /**
+ * The feature id for the '<em><b>OS SRV USG terminated at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__OS_SRV_USG_TERMINATED_AT = 21;
+
+ /**
+ * The feature id for the '<em><b>Image</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__IMAGE = 22;
+
+ /**
+ * The feature id for the '<em><b>Flavor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__FLAVOR = 23;
+
+ /**
+ * The feature id for the '<em><b>Addresses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__ADDRESSES = 24;
+
+ /**
+ * The feature id for the '<em><b>Security groups</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__SECURITY_GROUPS = 25;
+
+ /**
+ * The feature id for the '<em><b>Metadata</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__METADATA = 26;
+
+ /**
+ * The feature id for the '<em><b>Links</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__LINKS = 27;
+
+ /**
+ * The feature id for the '<em><b>Fault</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER__FAULT = 28;
+
+ /**
+ * The number of structural features of the '<em>Server</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER_FEATURE_COUNT = 29;
+
+ /**
+ * The number of operations of the '<em>Server</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ImageImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getImage()
+ * @generated
+ */
+ int IMAGE = 8;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Updated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__UPDATED = 2;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__CREATED = 3;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__TENANT_ID = 4;
+
+ /**
+ * The feature id for the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__USER_ID = 5;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__STATUS = 6;
+
+ /**
+ * The feature id for the '<em><b>Progress</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__PROGRESS = 7;
+
+ /**
+ * The feature id for the '<em><b>Min Disk</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__MIN_DISK = 8;
+
+ /**
+ * The feature id for the '<em><b>Min Ram</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__MIN_RAM = 9;
+
+ /**
+ * The feature id for the '<em><b>OS EXT IMG SIZE size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__OS_EXT_IMG_SIZE_SIZE = 10;
+
+ /**
+ * The feature id for the '<em><b>Server</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__SERVER = 11;
+
+ /**
+ * The feature id for the '<em><b>Links</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__LINKS = 12;
+
+ /**
+ * The feature id for the '<em><b>Metadata</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__METADATA = 13;
+
+ /**
+ * The number of structural features of the '<em>Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE_FEATURE_COUNT = 14;
+
+ /**
+ * The number of operations of the '<em>Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl <em>Flavor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.FlavorImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getFlavor()
+ * @generated
+ */
+ int FLAVOR = 9;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Ram</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__RAM = 2;
+
+ /**
+ * The feature id for the '<em><b>Disk</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__DISK = 3;
+
+ /**
+ * The feature id for the '<em><b>Vcpus</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__VCPUS = 4;
+
+ /**
+ * The feature id for the '<em><b>Swap</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__SWAP = 5;
+
+ /**
+ * The feature id for the '<em><b>Rxtx factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__RXTX_FACTOR = 6;
+
+ /**
+ * The feature id for the '<em><b>OS FLV EXT DATA ephemeral</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL = 7;
+
+ /**
+ * The feature id for the '<em><b>OS FLV DISABLED disabled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__OS_FLV_DISABLED_DISABLED = 8;
+
+ /**
+ * The feature id for the '<em><b>Os flavor access is public</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC = 9;
+
+ /**
+ * The feature id for the '<em><b>Links</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR__LINKS = 10;
+
+ /**
+ * The number of structural features of the '<em>Flavor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR_FEATURE_COUNT = 11;
+
+ /**
+ * The number of operations of the '<em>Flavor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAVOR_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.AddressesImpl <em>Addresses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.AddressesImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getAddresses()
+ * @generated
+ */
+ int ADDRESSES = 10;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESSES__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Ips</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESSES__IPS = 1;
+
+ /**
+ * The number of structural features of the '<em>Addresses</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESSES_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Addresses</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESSES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.AddressImpl <em>Address</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.AddressImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getAddress()
+ * @generated
+ */
+ int ADDRESS = 11;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__VERSION = 0;
+
+ /**
+ * The feature id for the '<em><b>Addr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__ADDR = 1;
+
+ /**
+ * The feature id for the '<em><b>OS EXT IPS MAC mac addr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR = 2;
+
+ /**
+ * The feature id for the '<em><b>OS EXT IPS type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__OS_EXT_IPS_TYPE = 3;
+
+ /**
+ * The number of structural features of the '<em>Address</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Address</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.LinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.LinkImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getLink()
+ * @generated
+ */
+ int LINK = 12;
+
+ /**
+ * The feature id for the '<em><b>Rel</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK__REL = 0;
+
+ /**
+ * The feature id for the '<em><b>Href</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK__HREF = 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK__TYPE = 2;
+
+ /**
+ * The number of structural features of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.MetadataImpl <em>Metadata</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.MetadataImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getMetadata()
+ * @generated
+ */
+ int METADATA = 13;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METADATA__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METADATA__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Metadata</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METADATA_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Metadata</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METADATA_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.FaultImpl <em>Fault</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.FaultImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getFault()
+ * @generated
+ */
+ int FAULT = 14;
+
+ /**
+ * The feature id for the '<em><b>Message</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT__MESSAGE = 0;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT__CREATED = 1;
+
+ /**
+ * The feature id for the '<em><b>Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT__CODE = 2;
+
+ /**
+ * The number of structural features of the '<em>Fault</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Fault</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.PersonalityImpl <em>Personality</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.PersonalityImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getPersonality()
+ * @generated
+ */
+ int PERSONALITY = 15;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONALITY__PATH = 0;
+
+ /**
+ * The feature id for the '<em><b>Contents</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONALITY__CONTENTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Personality</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONALITY_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Personality</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONALITY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.ReferenceImpl <em>Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ReferenceImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getReference()
+ * @generated
+ */
+ int REFERENCE = 16;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFERENCE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Links</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFERENCE__LINKS = 1;
+
+ /**
+ * The number of structural features of the '<em>Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFERENCE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFERENCE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl <em>Volume</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.VolumeImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getVolume()
+ * @generated
+ */
+ int VOLUME = 17;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__LAST_POLLED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__LAST_CHANGED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__CREATED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__STATUS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Display name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__DISPLAY_NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Attachments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__ATTACHMENTS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Availability zone</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__AVAILABILITY_ZONE = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Created at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__CREATED_AT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Volume type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__VOLUME_TYPE = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Metadata</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__METADATA = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__ID = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__SIZE = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Snapshot id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__SNAPSHOT_ID = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Display description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME__DISPLAY_DESCRIPTION = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Volume</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_FEATURE_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 11;
+
+ /**
+ * The number of operations of the '<em>Volume</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_OPERATION_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl <em>Volume Attachment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getVolumeAttachment()
+ * @generated
+ */
+ int VOLUME_ATTACHMENT = 18;
+
+ /**
+ * The feature id for the '<em><b>Device</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_ATTACHMENT__DEVICE = 0;
+
+ /**
+ * The feature id for the '<em><b>Server id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_ATTACHMENT__SERVER_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_ATTACHMENT__ID = 2;
+
+ /**
+ * The feature id for the '<em><b>Volume id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_ATTACHMENT__VOLUME_ID = 3;
+
+ /**
+ * The number of structural features of the '<em>Volume Attachment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_ATTACHMENT_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Volume Attachment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VOLUME_ATTACHMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl <em>Floating Ip</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getFloatingIp()
+ * @generated
+ */
+ int FLOATING_IP = 19;
+
+ /**
+ * The feature id for the '<em><b>Instance id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP__INSTANCE_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP__IP = 1;
+
+ /**
+ * The feature id for the '<em><b>Fixed ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP__FIXED_IP = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP__ID = 3;
+
+ /**
+ * The feature id for the '<em><b>Pool</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP__POOL = 4;
+
+ /**
+ * The number of structural features of the '<em>Floating Ip</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP_FEATURE_COUNT = 5;
+
+ /**
+ * The number of operations of the '<em>Floating Ip</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOATING_IP_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl <em>Security Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getSecurityGroup()
+ * @generated
+ */
+ int SECURITY_GROUP = 20;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__LAST_POLLED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__LAST_CHANGED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__CREATED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Rules</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__RULES = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__TENANT_ID = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__ID = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP__DESCRIPTION = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Security Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP_FEATURE_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Security Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_GROUP_OPERATION_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl <em>Security Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getSecurityRule()
+ * @generated
+ */
+ int SECURITY_RULE = 21;
+
+ /**
+ * The feature id for the '<em><b>From port</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__FROM_PORT = 0;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__GROUP = 1;
+
+ /**
+ * The feature id for the '<em><b>Ip protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__IP_PROTOCOL = 2;
+
+ /**
+ * The feature id for the '<em><b>To port</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__TO_PORT = 3;
+
+ /**
+ * The feature id for the '<em><b>Parent group id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__PARENT_GROUP_ID = 4;
+
+ /**
+ * The feature id for the '<em><b>Ip range</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__IP_RANGE = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__ID = 6;
+
+ /**
+ * The number of structural features of the '<em>Security Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE_FEATURE_COUNT = 7;
+
+ /**
+ * The number of operations of the '<em>Security Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRangeImpl <em>Security Range</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.SecurityRangeImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getSecurityRange()
+ * @generated
+ */
+ int SECURITY_RANGE = 22;
+
+ /**
+ * The feature id for the '<em><b>Cidr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RANGE__CIDR = 0;
+
+ /**
+ * The number of structural features of the '<em>Security Range</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RANGE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Security Range</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RANGE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl <em>Key Pair</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getKeyPair()
+ * @generated
+ */
+ int KEY_PAIR = 23;
+
+ /**
+ * The feature id for the '<em><b>Public key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_PAIR__PUBLIC_KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_PAIR__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Fingerprint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_PAIR__FINGERPRINT = 2;
+
+ /**
+ * The number of structural features of the '<em>Key Pair</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_PAIR_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Key Pair</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_PAIR_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.ComputeService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Service</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService
+ * @generated
+ */
+ EClass getComputeService();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#createServer(org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer) <em>Create Server</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Server</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#createServer(org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer)
+ * @generated
+ */
+ EOperation getComputeService__CreateServer__OpenstackRequestNewServer();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#deleteServer(java.lang.String, java.lang.String) <em>Delete Server</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete Server</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#deleteServer(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getComputeService__DeleteServer__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#createKeyPair(org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair) <em>Create Key Pair</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Key Pair</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#createKeyPair(org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair)
+ * @generated
+ */
+ EOperation getComputeService__CreateKeyPair__OpenstackRequestKeyPair();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#delete(org.openecomp.ncomp.openstack.core.OpenstackRequestDelete) <em>Delete</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#delete(org.openecomp.ncomp.openstack.core.OpenstackRequestDelete)
+ * @generated
+ */
+ EOperation getComputeService__Delete__OpenstackRequestDelete();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#createFlavor(org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor) <em>Create Flavor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Flavor</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#createFlavor(org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor)
+ * @generated
+ */
+ EOperation getComputeService__CreateFlavor__OpenstackRequestFlavor();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#createSecurityGroup(org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup) <em>Create Security Group</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Security Group</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#createSecurityGroup(org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup)
+ * @generated
+ */
+ EOperation getComputeService__CreateSecurityGroup__OpenstackRequestSecurityGroup();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#serverAction(org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction) <em>Server Action</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Server Action</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#serverAction(org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction)
+ * @generated
+ */
+ EOperation getComputeService__ServerAction__OpenstackRequestServerAction();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#deployVmType(java.lang.String, java.lang.String) <em>Deploy Vm Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Deploy Vm Type</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#deployVmType(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getComputeService__DeployVmType__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#undeployVmType(java.lang.String, java.lang.String) <em>Undeploy Vm Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Undeploy Vm Type</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#undeployVmType(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getComputeService__UndeployVmType__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#deployUser(org.openecomp.ncomp.core.User, java.lang.String) <em>Deploy User</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Deploy User</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#deployUser(org.openecomp.ncomp.core.User, java.lang.String)
+ * @generated
+ */
+ EOperation getComputeService__DeployUser__User_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.compute.ComputeService#undeployUser(org.openecomp.ncomp.core.User, java.lang.String) <em>Undeploy User</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Undeploy User</em>' operation.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService#undeployUser(org.openecomp.ncomp.core.User, java.lang.String)
+ * @generated
+ */
+ EOperation getComputeService__UndeployUser__User_String();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer <em>Openstack Request New Server</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request New Server</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer
+ * @generated
+ */
+ EClass getOpenstackRequestNewServer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getName()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getHypervisor <em>Hypervisor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hypervisor</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getHypervisor()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_Hypervisor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser <em>User</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_User();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getNetworks <em>Networks</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Networks</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getNetworks()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_Networks();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getPorts <em>Ports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Ports</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getPorts()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_Ports();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser_data <em>User data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User data</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser_data()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_User_data();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getFloatingIp <em>Floating Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Floating Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getFloatingIp()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EAttribute getOpenstackRequestNewServer_FloatingIp();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getVmType <em>Vm Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Vm Type</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getVmType()
+ * @see #getOpenstackRequestNewServer()
+ * @generated
+ */
+ EReference getOpenstackRequestNewServer_VmType();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair <em>Openstack Request Key Pair</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Key Pair</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair
+ * @generated
+ */
+ EClass getOpenstackRequestKeyPair();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair#getUser <em>User</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>User</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair#getUser()
+ * @see #getOpenstackRequestKeyPair()
+ * @generated
+ */
+ EReference getOpenstackRequestKeyPair_User();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor <em>Openstack Request Flavor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Flavor</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor
+ * @generated
+ */
+ EClass getOpenstackRequestFlavor();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor#getVmType <em>Vm Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Vm Type</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor#getVmType()
+ * @see #getOpenstackRequestFlavor()
+ * @generated
+ */
+ EReference getOpenstackRequestFlavor_VmType();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup <em>Openstack Request Security Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Security Group</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup
+ * @generated
+ */
+ EClass getOpenstackRequestSecurityGroup();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup#getVmType <em>Vm Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Vm Type</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup#getVmType()
+ * @see #getOpenstackRequestSecurityGroup()
+ * @generated
+ */
+ EReference getOpenstackRequestSecurityGroup_VmType();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction <em>Openstack Request Server Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Server Action</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction
+ * @generated
+ */
+ EClass getOpenstackRequestServerAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getName()
+ * @see #getOpenstackRequestServerAction()
+ * @generated
+ */
+ EAttribute getOpenstackRequestServerAction_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getAction <em>Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Action</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getAction()
+ * @see #getOpenstackRequestServerAction()
+ * @generated
+ */
+ EAttribute getOpenstackRequestServerAction_Action();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestPoll <em>Openstack Request Poll</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Poll</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestPoll
+ * @generated
+ */
+ EClass getOpenstackRequestPoll();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Server <em>Server</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Server</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server
+ * @generated
+ */
+ EClass getServer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getId()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getTenant_id()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Tenant_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getUser_id <em>User id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getUser_id()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_User_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getName()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getUpdated <em>Updated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updated</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getUpdated()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Updated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getCreated <em>Created</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Created</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getCreated()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Created();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getHostId <em>Host Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Host Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getHostId()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_HostId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getAccessIPv4 <em>Access IPv4</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access IPv4</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getAccessIPv4()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_AccessIPv4();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getAccessIPv6 <em>Access IPv6</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access IPv6</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getAccessIPv6()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_AccessIPv6();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getStatus()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getConfig_drive <em>Config drive</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Config drive</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getConfig_drive()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Config_drive();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getKey_name <em>Key name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getKey_name()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Key_name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getProgress <em>Progress</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Progress</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getProgress()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_Progress();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_DCF_diskConfig <em>OS DCF disk Config</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS DCF disk Config</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_DCF_diskConfig()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_DCF_diskConfig();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_power_state <em>OS EXT STS power state</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT STS power state</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_power_state()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_EXT_STS_power_state();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_vm_state <em>OS EXT STS vm state</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT STS vm state</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_vm_state()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_EXT_STS_vm_state();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_task_state <em>OS EXT STS task state</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT STS task state</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_task_state()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_EXT_STS_task_state();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_host <em>OS EXT SRV ATTR host</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT SRV ATTR host</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_host()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_EXT_SRV_ATTR_host();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_instance_name <em>OS EXT SRV ATTR instance name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT SRV ATTR instance name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_instance_name()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_EXT_SRV_ATTR_instance_name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_hypervisor_hostname <em>OS EXT SRV ATTR hypervisor hostname</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT SRV ATTR hypervisor hostname</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_hypervisor_hostname()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_EXT_SRV_ATTR_hypervisor_hostname();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_launched_at <em>OS SRV USG launched at</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS SRV USG launched at</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_launched_at()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_SRV_USG_launched_at();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_terminated_at <em>OS SRV USG terminated at</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS SRV USG terminated at</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_terminated_at()
+ * @see #getServer()
+ * @generated
+ */
+ EAttribute getServer_OS_SRV_USG_terminated_at();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.Server#getImage <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Image</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getImage()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Image();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.Server#getFlavor <em>Flavor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Flavor</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getFlavor()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Flavor();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Server#getAddresses <em>Addresses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Addresses</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getAddresses()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Addresses();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Server#getSecurity_groups <em>Security groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Security groups</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getSecurity_groups()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Security_groups();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Server#getMetadata <em>Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Metadata</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getMetadata()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Metadata();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Server#getLinks <em>Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Links</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getLinks()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Links();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.Server#getFault <em>Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Fault</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Server#getFault()
+ * @see #getServer()
+ * @generated
+ */
+ EReference getServer_Fault();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Image</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image
+ * @generated
+ */
+ EClass getImage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getId()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getName()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getUpdated <em>Updated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updated</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getUpdated()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Updated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getCreated <em>Created</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Created</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getCreated()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Created();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getTenant_id()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Tenant_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getUser_id <em>User id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>User id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getUser_id()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_User_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getStatus()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getProgress <em>Progress</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Progress</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getProgress()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Progress();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getMinDisk <em>Min Disk</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Min Disk</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getMinDisk()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_MinDisk();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getMinRam <em>Min Ram</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Min Ram</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getMinRam()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_MinRam();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Image#getOS_EXT_IMG_SIZE_size <em>OS EXT IMG SIZE size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT IMG SIZE size</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getOS_EXT_IMG_SIZE_size()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_OS_EXT_IMG_SIZE_size();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.Image#getServer <em>Server</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Server</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getServer()
+ * @see #getImage()
+ * @generated
+ */
+ EReference getImage_Server();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Image#getLinks <em>Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Links</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getLinks()
+ * @see #getImage()
+ * @generated
+ */
+ EReference getImage_Links();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Image#getMetadata <em>Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Metadata</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Image#getMetadata()
+ * @see #getImage()
+ * @generated
+ */
+ EReference getImage_Metadata();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Flavor <em>Flavor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Flavor</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor
+ * @generated
+ */
+ EClass getFlavor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getId()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getName()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getRam <em>Ram</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ram</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getRam()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Ram();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getDisk <em>Disk</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Disk</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getDisk()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Disk();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getVcpus <em>Vcpus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vcpus</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getVcpus()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Vcpus();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getSwap <em>Swap</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Swap</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getSwap()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Swap();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getRxtx_factor <em>Rxtx factor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Rxtx factor</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getRxtx_factor()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Rxtx_factor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#getOS_FLV_EXT_DATA_ephemeral <em>OS FLV EXT DATA ephemeral</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS FLV EXT DATA ephemeral</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getOS_FLV_EXT_DATA_ephemeral()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_OS_FLV_EXT_DATA_ephemeral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#isOS_FLV_DISABLED_disabled <em>OS FLV DISABLED disabled</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS FLV DISABLED disabled</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#isOS_FLV_DISABLED_disabled()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_OS_FLV_DISABLED_disabled();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Flavor#isOs_flavor_access_is_public <em>Os flavor access is public</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Os flavor access is public</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#isOs_flavor_access_is_public()
+ * @see #getFlavor()
+ * @generated
+ */
+ EAttribute getFlavor_Os_flavor_access_is_public();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Flavor#getLinks <em>Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Links</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor#getLinks()
+ * @see #getFlavor()
+ * @generated
+ */
+ EReference getFlavor_Links();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Addresses <em>Addresses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Addresses</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Addresses
+ * @generated
+ */
+ EClass getAddresses();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Addresses#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Addresses#getName()
+ * @see #getAddresses()
+ * @generated
+ */
+ EAttribute getAddresses_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Addresses#getIps <em>Ips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ips</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Addresses#getIps()
+ * @see #getAddresses()
+ * @generated
+ */
+ EReference getAddresses_Ips();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Address <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Address</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Address
+ * @generated
+ */
+ EClass getAddress();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Address#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Address#getVersion()
+ * @see #getAddress()
+ * @generated
+ */
+ EAttribute getAddress_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Address#getAddr <em>Addr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Addr</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Address#getAddr()
+ * @see #getAddress()
+ * @generated
+ */
+ EAttribute getAddress_Addr();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_MAC_mac_addr <em>OS EXT IPS MAC mac addr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT IPS MAC mac addr</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_MAC_mac_addr()
+ * @see #getAddress()
+ * @generated
+ */
+ EAttribute getAddress_OS_EXT_IPS_MAC_mac_addr();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_type <em>OS EXT IPS type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>OS EXT IPS type</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Address#getOS_EXT_IPS_type()
+ * @see #getAddress()
+ * @generated
+ */
+ EAttribute getAddress_OS_EXT_IPS_type();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Link <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Link</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Link
+ * @generated
+ */
+ EClass getLink();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Link#getRel <em>Rel</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Rel</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Link#getRel()
+ * @see #getLink()
+ * @generated
+ */
+ EAttribute getLink_Rel();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Link#getHref <em>Href</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Href</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Link#getHref()
+ * @see #getLink()
+ * @generated
+ */
+ EAttribute getLink_Href();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Link#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Link#getType()
+ * @see #getLink()
+ * @generated
+ */
+ EAttribute getLink_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Metadata <em>Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Metadata</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Metadata
+ * @generated
+ */
+ EClass getMetadata();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Metadata#getKey <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Metadata#getKey()
+ * @see #getMetadata()
+ * @generated
+ */
+ EAttribute getMetadata_Key();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Metadata#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Metadata#getValue()
+ * @see #getMetadata()
+ * @generated
+ */
+ EAttribute getMetadata_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Fault <em>Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fault</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Fault
+ * @generated
+ */
+ EClass getFault();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Fault#getMessage <em>Message</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Message</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Fault#getMessage()
+ * @see #getFault()
+ * @generated
+ */
+ EAttribute getFault_Message();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Fault#getCreated <em>Created</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Created</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Fault#getCreated()
+ * @see #getFault()
+ * @generated
+ */
+ EAttribute getFault_Created();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Fault#getCode <em>Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Code</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Fault#getCode()
+ * @see #getFault()
+ * @generated
+ */
+ EAttribute getFault_Code();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Personality <em>Personality</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Personality</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Personality
+ * @generated
+ */
+ EClass getPersonality();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Personality#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Path</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Personality#getPath()
+ * @see #getPersonality()
+ * @generated
+ */
+ EAttribute getPersonality_Path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Personality#getContents <em>Contents</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Contents</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Personality#getContents()
+ * @see #getPersonality()
+ * @generated
+ */
+ EAttribute getPersonality_Contents();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Reference <em>Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Reference</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Reference
+ * @generated
+ */
+ EClass getReference();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Reference#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Reference#getId()
+ * @see #getReference()
+ * @generated
+ */
+ EAttribute getReference_Id();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Reference#getLinks <em>Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Links</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Reference#getLinks()
+ * @see #getReference()
+ * @generated
+ */
+ EReference getReference_Links();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.Volume <em>Volume</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Volume</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume
+ * @generated
+ */
+ EClass getVolume();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getStatus()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getDisplay_name <em>Display name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Display name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getDisplay_name()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Display_name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Volume#getAttachments <em>Attachments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attachments</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getAttachments()
+ * @see #getVolume()
+ * @generated
+ */
+ EReference getVolume_Attachments();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getAvailability_zone <em>Availability zone</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Availability zone</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getAvailability_zone()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Availability_zone();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getCreated_at <em>Created at</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Created at</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getCreated_at()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Created_at();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getVolume_type <em>Volume type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Volume type</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getVolume_type()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Volume_type();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.Volume#getMetadata <em>Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Metadata</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getMetadata()
+ * @see #getVolume()
+ * @generated
+ */
+ EReference getVolume_Metadata();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getId()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getSize <em>Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Size</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getSize()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Size();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getSnapshot_id <em>Snapshot id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Snapshot id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getSnapshot_id()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Snapshot_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.Volume#getDisplay_description <em>Display description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Display description</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.Volume#getDisplay_description()
+ * @see #getVolume()
+ * @generated
+ */
+ EAttribute getVolume_Display_description();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment <em>Volume Attachment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Volume Attachment</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.VolumeAttachment
+ * @generated
+ */
+ EClass getVolumeAttachment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getDevice <em>Device</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Device</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.VolumeAttachment#getDevice()
+ * @see #getVolumeAttachment()
+ * @generated
+ */
+ EAttribute getVolumeAttachment_Device();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getServer_id <em>Server id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Server id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.VolumeAttachment#getServer_id()
+ * @see #getVolumeAttachment()
+ * @generated
+ */
+ EAttribute getVolumeAttachment_Server_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.VolumeAttachment#getId()
+ * @see #getVolumeAttachment()
+ * @generated
+ */
+ EAttribute getVolumeAttachment_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getVolume_id <em>Volume id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Volume id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.VolumeAttachment#getVolume_id()
+ * @see #getVolumeAttachment()
+ * @generated
+ */
+ EAttribute getVolumeAttachment_Volume_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.FloatingIp <em>Floating Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Floating Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp
+ * @generated
+ */
+ EClass getFloatingIp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getInstance_id <em>Instance id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Instance id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp#getInstance_id()
+ * @see #getFloatingIp()
+ * @generated
+ */
+ EAttribute getFloatingIp_Instance_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getIp <em>Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp#getIp()
+ * @see #getFloatingIp()
+ * @generated
+ */
+ EAttribute getFloatingIp_Ip();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getFixed_ip <em>Fixed ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fixed ip</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp#getFixed_ip()
+ * @see #getFloatingIp()
+ * @generated
+ */
+ EAttribute getFloatingIp_Fixed_ip();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp#getId()
+ * @see #getFloatingIp()
+ * @generated
+ */
+ EAttribute getFloatingIp_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getPool <em>Pool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pool</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp#getPool()
+ * @see #getFloatingIp()
+ * @generated
+ */
+ EAttribute getFloatingIp_Pool();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup <em>Security Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Group</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityGroup
+ * @generated
+ */
+ EClass getSecurityGroup();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getRules <em>Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Rules</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityGroup#getRules()
+ * @see #getSecurityGroup()
+ * @generated
+ */
+ EReference getSecurityGroup_Rules();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityGroup#getTenant_id()
+ * @see #getSecurityGroup()
+ * @generated
+ */
+ EAttribute getSecurityGroup_Tenant_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityGroup#getId()
+ * @see #getSecurityGroup()
+ * @generated
+ */
+ EAttribute getSecurityGroup_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityGroup#getDescription()
+ * @see #getSecurityGroup()
+ * @generated
+ */
+ EAttribute getSecurityGroup_Description();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.SecurityRule <em>Security Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Rule</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule
+ * @generated
+ */
+ EClass getSecurityRule();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getFrom_port <em>From port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>From port</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getFrom_port()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_From_port();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getGroup <em>Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Group</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getGroup()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EReference getSecurityRule_Group();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_protocol <em>Ip protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ip protocol</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_protocol()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_Ip_protocol();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getTo_port <em>To port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>To port</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getTo_port()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_To_port();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getParent_group_id <em>Parent group id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Parent group id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getParent_group_id()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_Parent_group_id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_range <em>Ip range</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Ip range</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_range()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EReference getSecurityRule_Ip_range();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule#getId()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.SecurityRange <em>Security Range</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Range</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRange
+ * @generated
+ */
+ EClass getSecurityRange();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.SecurityRange#getCidr <em>Cidr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cidr</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRange#getCidr()
+ * @see #getSecurityRange()
+ * @generated
+ */
+ EAttribute getSecurityRange_Cidr();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.compute.KeyPair <em>Key Pair</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Key Pair</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.KeyPair
+ * @generated
+ */
+ EClass getKeyPair();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.KeyPair#getPublic_key <em>Public key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Public key</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.KeyPair#getPublic_key()
+ * @see #getKeyPair()
+ * @generated
+ */
+ EAttribute getKeyPair_Public_key();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.KeyPair#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.KeyPair#getName()
+ * @see #getKeyPair()
+ * @generated
+ */
+ EAttribute getKeyPair_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.compute.KeyPair#getFingerprint <em>Fingerprint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fingerprint</em>'.
+ * @see org.openecomp.ncomp.openstack.compute.KeyPair#getFingerprint()
+ * @see #getKeyPair()
+ * @generated
+ */
+ EAttribute getKeyPair_Fingerprint();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ComputeFactory getComputeFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.ComputeServiceImpl <em>Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputeServiceImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getComputeService()
+ * @generated
+ */
+ EClass COMPUTE_SERVICE = eINSTANCE.getComputeService();
+
+ /**
+ * The meta object literal for the '<em><b>Create Server</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER = eINSTANCE.getComputeService__CreateServer__OpenstackRequestNewServer();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Server</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___DELETE_SERVER__STRING_STRING = eINSTANCE.getComputeService__DeleteServer__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Create Key Pair</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR = eINSTANCE.getComputeService__CreateKeyPair__OpenstackRequestKeyPair();
+
+ /**
+ * The meta object literal for the '<em><b>Delete</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___DELETE__OPENSTACKREQUESTDELETE = eINSTANCE.getComputeService__Delete__OpenstackRequestDelete();
+
+ /**
+ * The meta object literal for the '<em><b>Create Flavor</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR = eINSTANCE.getComputeService__CreateFlavor__OpenstackRequestFlavor();
+
+ /**
+ * The meta object literal for the '<em><b>Create Security Group</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP = eINSTANCE.getComputeService__CreateSecurityGroup__OpenstackRequestSecurityGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Server Action</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION = eINSTANCE.getComputeService__ServerAction__OpenstackRequestServerAction();
+
+ /**
+ * The meta object literal for the '<em><b>Deploy Vm Type</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___DEPLOY_VM_TYPE__STRING_STRING = eINSTANCE.getComputeService__DeployVmType__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Undeploy Vm Type</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___UNDEPLOY_VM_TYPE__STRING_STRING = eINSTANCE.getComputeService__UndeployVmType__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Deploy User</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___DEPLOY_USER__USER_STRING = eINSTANCE.getComputeService__DeployUser__User_String();
+
+ /**
+ * The meta object literal for the '<em><b>Undeploy User</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation COMPUTE_SERVICE___UNDEPLOY_USER__USER_STRING = eINSTANCE.getComputeService__UndeployUser__User_String();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl <em>Openstack Request New Server</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestNewServer()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_NEW_SERVER = eINSTANCE.getOpenstackRequestNewServer();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__NAME = eINSTANCE.getOpenstackRequestNewServer_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Hypervisor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR = eINSTANCE.getOpenstackRequestNewServer_Hypervisor();
+
+ /**
+ * The meta object literal for the '<em><b>User</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__USER = eINSTANCE.getOpenstackRequestNewServer_User();
+
+ /**
+ * The meta object literal for the '<em><b>Networks</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__NETWORKS = eINSTANCE.getOpenstackRequestNewServer_Networks();
+
+ /**
+ * The meta object literal for the '<em><b>Ports</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__PORTS = eINSTANCE.getOpenstackRequestNewServer_Ports();
+
+ /**
+ * The meta object literal for the '<em><b>User data</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__USER_DATA = eINSTANCE.getOpenstackRequestNewServer_User_data();
+
+ /**
+ * The meta object literal for the '<em><b>Floating Ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP = eINSTANCE.getOpenstackRequestNewServer_FloatingIp();
+
+ /**
+ * The meta object literal for the '<em><b>Vm Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE = eINSTANCE.getOpenstackRequestNewServer_VmType();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestKeyPairImpl <em>Openstack Request Key Pair</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestKeyPairImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestKeyPair()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_KEY_PAIR = eINSTANCE.getOpenstackRequestKeyPair();
+
+ /**
+ * The meta object literal for the '<em><b>User</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPENSTACK_REQUEST_KEY_PAIR__USER = eINSTANCE.getOpenstackRequestKeyPair_User();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestFlavorImpl <em>Openstack Request Flavor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestFlavorImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestFlavor()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_FLAVOR = eINSTANCE.getOpenstackRequestFlavor();
+
+ /**
+ * The meta object literal for the '<em><b>Vm Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPENSTACK_REQUEST_FLAVOR__VM_TYPE = eINSTANCE.getOpenstackRequestFlavor_VmType();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestSecurityGroupImpl <em>Openstack Request Security Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestSecurityGroupImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestSecurityGroup()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_SECURITY_GROUP = eINSTANCE.getOpenstackRequestSecurityGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Vm Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE = eINSTANCE.getOpenstackRequestSecurityGroup_VmType();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestServerActionImpl <em>Openstack Request Server Action</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestServerActionImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestServerAction()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_SERVER_ACTION = eINSTANCE.getOpenstackRequestServerAction();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_SERVER_ACTION__NAME = eINSTANCE.getOpenstackRequestServerAction_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Action</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_SERVER_ACTION__ACTION = eINSTANCE.getOpenstackRequestServerAction_Action();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestPollImpl <em>Openstack Request Poll</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestPollImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getOpenstackRequestPoll()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_POLL = eINSTANCE.getOpenstackRequestPoll();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl <em>Server</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ServerImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getServer()
+ * @generated
+ */
+ EClass SERVER = eINSTANCE.getServer();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__ID = eINSTANCE.getServer_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__TENANT_ID = eINSTANCE.getServer_Tenant_id();
+
+ /**
+ * The meta object literal for the '<em><b>User id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__USER_ID = eINSTANCE.getServer_User_id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__NAME = eINSTANCE.getServer_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Updated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__UPDATED = eINSTANCE.getServer_Updated();
+
+ /**
+ * The meta object literal for the '<em><b>Created</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__CREATED = eINSTANCE.getServer_Created();
+
+ /**
+ * The meta object literal for the '<em><b>Host Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__HOST_ID = eINSTANCE.getServer_HostId();
+
+ /**
+ * The meta object literal for the '<em><b>Access IPv4</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__ACCESS_IPV4 = eINSTANCE.getServer_AccessIPv4();
+
+ /**
+ * The meta object literal for the '<em><b>Access IPv6</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__ACCESS_IPV6 = eINSTANCE.getServer_AccessIPv6();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__STATUS = eINSTANCE.getServer_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Config drive</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__CONFIG_DRIVE = eINSTANCE.getServer_Config_drive();
+
+ /**
+ * The meta object literal for the '<em><b>Key name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__KEY_NAME = eINSTANCE.getServer_Key_name();
+
+ /**
+ * The meta object literal for the '<em><b>Progress</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__PROGRESS = eINSTANCE.getServer_Progress();
+
+ /**
+ * The meta object literal for the '<em><b>OS DCF disk Config</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_DCF_DISK_CONFIG = eINSTANCE.getServer_OS_DCF_diskConfig();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT STS power state</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_EXT_STS_POWER_STATE = eINSTANCE.getServer_OS_EXT_STS_power_state();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT STS vm state</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_EXT_STS_VM_STATE = eINSTANCE.getServer_OS_EXT_STS_vm_state();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT STS task state</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_EXT_STS_TASK_STATE = eINSTANCE.getServer_OS_EXT_STS_task_state();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT SRV ATTR host</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_EXT_SRV_ATTR_HOST = eINSTANCE.getServer_OS_EXT_SRV_ATTR_host();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT SRV ATTR instance name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME = eINSTANCE.getServer_OS_EXT_SRV_ATTR_instance_name();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT SRV ATTR hypervisor hostname</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME = eINSTANCE.getServer_OS_EXT_SRV_ATTR_hypervisor_hostname();
+
+ /**
+ * The meta object literal for the '<em><b>OS SRV USG launched at</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_SRV_USG_LAUNCHED_AT = eINSTANCE.getServer_OS_SRV_USG_launched_at();
+
+ /**
+ * The meta object literal for the '<em><b>OS SRV USG terminated at</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SERVER__OS_SRV_USG_TERMINATED_AT = eINSTANCE.getServer_OS_SRV_USG_terminated_at();
+
+ /**
+ * The meta object literal for the '<em><b>Image</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__IMAGE = eINSTANCE.getServer_Image();
+
+ /**
+ * The meta object literal for the '<em><b>Flavor</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__FLAVOR = eINSTANCE.getServer_Flavor();
+
+ /**
+ * The meta object literal for the '<em><b>Addresses</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__ADDRESSES = eINSTANCE.getServer_Addresses();
+
+ /**
+ * The meta object literal for the '<em><b>Security groups</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__SECURITY_GROUPS = eINSTANCE.getServer_Security_groups();
+
+ /**
+ * The meta object literal for the '<em><b>Metadata</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__METADATA = eINSTANCE.getServer_Metadata();
+
+ /**
+ * The meta object literal for the '<em><b>Links</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__LINKS = eINSTANCE.getServer_Links();
+
+ /**
+ * The meta object literal for the '<em><b>Fault</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVER__FAULT = eINSTANCE.getServer_Fault();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ImageImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getImage()
+ * @generated
+ */
+ EClass IMAGE = eINSTANCE.getImage();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__ID = eINSTANCE.getImage_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__NAME = eINSTANCE.getImage_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Updated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__UPDATED = eINSTANCE.getImage_Updated();
+
+ /**
+ * The meta object literal for the '<em><b>Created</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__CREATED = eINSTANCE.getImage_Created();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__TENANT_ID = eINSTANCE.getImage_Tenant_id();
+
+ /**
+ * The meta object literal for the '<em><b>User id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__USER_ID = eINSTANCE.getImage_User_id();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__STATUS = eINSTANCE.getImage_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Progress</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__PROGRESS = eINSTANCE.getImage_Progress();
+
+ /**
+ * The meta object literal for the '<em><b>Min Disk</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__MIN_DISK = eINSTANCE.getImage_MinDisk();
+
+ /**
+ * The meta object literal for the '<em><b>Min Ram</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__MIN_RAM = eINSTANCE.getImage_MinRam();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT IMG SIZE size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__OS_EXT_IMG_SIZE_SIZE = eINSTANCE.getImage_OS_EXT_IMG_SIZE_size();
+
+ /**
+ * The meta object literal for the '<em><b>Server</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMAGE__SERVER = eINSTANCE.getImage_Server();
+
+ /**
+ * The meta object literal for the '<em><b>Links</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMAGE__LINKS = eINSTANCE.getImage_Links();
+
+ /**
+ * The meta object literal for the '<em><b>Metadata</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMAGE__METADATA = eINSTANCE.getImage_Metadata();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl <em>Flavor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.FlavorImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getFlavor()
+ * @generated
+ */
+ EClass FLAVOR = eINSTANCE.getFlavor();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__ID = eINSTANCE.getFlavor_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__NAME = eINSTANCE.getFlavor_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Ram</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__RAM = eINSTANCE.getFlavor_Ram();
+
+ /**
+ * The meta object literal for the '<em><b>Disk</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__DISK = eINSTANCE.getFlavor_Disk();
+
+ /**
+ * The meta object literal for the '<em><b>Vcpus</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__VCPUS = eINSTANCE.getFlavor_Vcpus();
+
+ /**
+ * The meta object literal for the '<em><b>Swap</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__SWAP = eINSTANCE.getFlavor_Swap();
+
+ /**
+ * The meta object literal for the '<em><b>Rxtx factor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__RXTX_FACTOR = eINSTANCE.getFlavor_Rxtx_factor();
+
+ /**
+ * The meta object literal for the '<em><b>OS FLV EXT DATA ephemeral</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL = eINSTANCE.getFlavor_OS_FLV_EXT_DATA_ephemeral();
+
+ /**
+ * The meta object literal for the '<em><b>OS FLV DISABLED disabled</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__OS_FLV_DISABLED_DISABLED = eINSTANCE.getFlavor_OS_FLV_DISABLED_disabled();
+
+ /**
+ * The meta object literal for the '<em><b>Os flavor access is public</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC = eINSTANCE.getFlavor_Os_flavor_access_is_public();
+
+ /**
+ * The meta object literal for the '<em><b>Links</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FLAVOR__LINKS = eINSTANCE.getFlavor_Links();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.AddressesImpl <em>Addresses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.AddressesImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getAddresses()
+ * @generated
+ */
+ EClass ADDRESSES = eINSTANCE.getAddresses();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESSES__NAME = eINSTANCE.getAddresses_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Ips</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ADDRESSES__IPS = eINSTANCE.getAddresses_Ips();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.AddressImpl <em>Address</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.AddressImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getAddress()
+ * @generated
+ */
+ EClass ADDRESS = eINSTANCE.getAddress();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESS__VERSION = eINSTANCE.getAddress_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Addr</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESS__ADDR = eINSTANCE.getAddress_Addr();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT IPS MAC mac addr</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR = eINSTANCE.getAddress_OS_EXT_IPS_MAC_mac_addr();
+
+ /**
+ * The meta object literal for the '<em><b>OS EXT IPS type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESS__OS_EXT_IPS_TYPE = eINSTANCE.getAddress_OS_EXT_IPS_type();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.LinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.LinkImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getLink()
+ * @generated
+ */
+ EClass LINK = eINSTANCE.getLink();
+
+ /**
+ * The meta object literal for the '<em><b>Rel</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINK__REL = eINSTANCE.getLink_Rel();
+
+ /**
+ * The meta object literal for the '<em><b>Href</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINK__HREF = eINSTANCE.getLink_Href();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINK__TYPE = eINSTANCE.getLink_Type();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.MetadataImpl <em>Metadata</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.MetadataImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getMetadata()
+ * @generated
+ */
+ EClass METADATA = eINSTANCE.getMetadata();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute METADATA__KEY = eINSTANCE.getMetadata_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute METADATA__VALUE = eINSTANCE.getMetadata_Value();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.FaultImpl <em>Fault</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.FaultImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getFault()
+ * @generated
+ */
+ EClass FAULT = eINSTANCE.getFault();
+
+ /**
+ * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAULT__MESSAGE = eINSTANCE.getFault_Message();
+
+ /**
+ * The meta object literal for the '<em><b>Created</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAULT__CREATED = eINSTANCE.getFault_Created();
+
+ /**
+ * The meta object literal for the '<em><b>Code</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAULT__CODE = eINSTANCE.getFault_Code();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.PersonalityImpl <em>Personality</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.PersonalityImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getPersonality()
+ * @generated
+ */
+ EClass PERSONALITY = eINSTANCE.getPersonality();
+
+ /**
+ * The meta object literal for the '<em><b>Path</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERSONALITY__PATH = eINSTANCE.getPersonality_Path();
+
+ /**
+ * The meta object literal for the '<em><b>Contents</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERSONALITY__CONTENTS = eINSTANCE.getPersonality_Contents();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.ReferenceImpl <em>Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.ReferenceImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getReference()
+ * @generated
+ */
+ EClass REFERENCE = eINSTANCE.getReference();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REFERENCE__ID = eINSTANCE.getReference_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Links</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFERENCE__LINKS = eINSTANCE.getReference_Links();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl <em>Volume</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.VolumeImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getVolume()
+ * @generated
+ */
+ EClass VOLUME = eINSTANCE.getVolume();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__STATUS = eINSTANCE.getVolume_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Display name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__DISPLAY_NAME = eINSTANCE.getVolume_Display_name();
+
+ /**
+ * The meta object literal for the '<em><b>Attachments</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VOLUME__ATTACHMENTS = eINSTANCE.getVolume_Attachments();
+
+ /**
+ * The meta object literal for the '<em><b>Availability zone</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__AVAILABILITY_ZONE = eINSTANCE.getVolume_Availability_zone();
+
+ /**
+ * The meta object literal for the '<em><b>Created at</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__CREATED_AT = eINSTANCE.getVolume_Created_at();
+
+ /**
+ * The meta object literal for the '<em><b>Volume type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__VOLUME_TYPE = eINSTANCE.getVolume_Volume_type();
+
+ /**
+ * The meta object literal for the '<em><b>Metadata</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VOLUME__METADATA = eINSTANCE.getVolume_Metadata();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__ID = eINSTANCE.getVolume_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__SIZE = eINSTANCE.getVolume_Size();
+
+ /**
+ * The meta object literal for the '<em><b>Snapshot id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__SNAPSHOT_ID = eINSTANCE.getVolume_Snapshot_id();
+
+ /**
+ * The meta object literal for the '<em><b>Display description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME__DISPLAY_DESCRIPTION = eINSTANCE.getVolume_Display_description();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl <em>Volume Attachment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getVolumeAttachment()
+ * @generated
+ */
+ EClass VOLUME_ATTACHMENT = eINSTANCE.getVolumeAttachment();
+
+ /**
+ * The meta object literal for the '<em><b>Device</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME_ATTACHMENT__DEVICE = eINSTANCE.getVolumeAttachment_Device();
+
+ /**
+ * The meta object literal for the '<em><b>Server id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME_ATTACHMENT__SERVER_ID = eINSTANCE.getVolumeAttachment_Server_id();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME_ATTACHMENT__ID = eINSTANCE.getVolumeAttachment_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Volume id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VOLUME_ATTACHMENT__VOLUME_ID = eINSTANCE.getVolumeAttachment_Volume_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl <em>Floating Ip</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getFloatingIp()
+ * @generated
+ */
+ EClass FLOATING_IP = eINSTANCE.getFloatingIp();
+
+ /**
+ * The meta object literal for the '<em><b>Instance id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLOATING_IP__INSTANCE_ID = eINSTANCE.getFloatingIp_Instance_id();
+
+ /**
+ * The meta object literal for the '<em><b>Ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLOATING_IP__IP = eINSTANCE.getFloatingIp_Ip();
+
+ /**
+ * The meta object literal for the '<em><b>Fixed ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLOATING_IP__FIXED_IP = eINSTANCE.getFloatingIp_Fixed_ip();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLOATING_IP__ID = eINSTANCE.getFloatingIp_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Pool</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FLOATING_IP__POOL = eINSTANCE.getFloatingIp_Pool();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl <em>Security Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getSecurityGroup()
+ * @generated
+ */
+ EClass SECURITY_GROUP = eINSTANCE.getSecurityGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Rules</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SECURITY_GROUP__RULES = eINSTANCE.getSecurityGroup_Rules();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_GROUP__TENANT_ID = eINSTANCE.getSecurityGroup_Tenant_id();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_GROUP__ID = eINSTANCE.getSecurityGroup_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_GROUP__DESCRIPTION = eINSTANCE.getSecurityGroup_Description();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl <em>Security Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getSecurityRule()
+ * @generated
+ */
+ EClass SECURITY_RULE = eINSTANCE.getSecurityRule();
+
+ /**
+ * The meta object literal for the '<em><b>From port</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__FROM_PORT = eINSTANCE.getSecurityRule_From_port();
+
+ /**
+ * The meta object literal for the '<em><b>Group</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SECURITY_RULE__GROUP = eINSTANCE.getSecurityRule_Group();
+
+ /**
+ * The meta object literal for the '<em><b>Ip protocol</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__IP_PROTOCOL = eINSTANCE.getSecurityRule_Ip_protocol();
+
+ /**
+ * The meta object literal for the '<em><b>To port</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__TO_PORT = eINSTANCE.getSecurityRule_To_port();
+
+ /**
+ * The meta object literal for the '<em><b>Parent group id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__PARENT_GROUP_ID = eINSTANCE.getSecurityRule_Parent_group_id();
+
+ /**
+ * The meta object literal for the '<em><b>Ip range</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SECURITY_RULE__IP_RANGE = eINSTANCE.getSecurityRule_Ip_range();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__ID = eINSTANCE.getSecurityRule_Id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRangeImpl <em>Security Range</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.SecurityRangeImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getSecurityRange()
+ * @generated
+ */
+ EClass SECURITY_RANGE = eINSTANCE.getSecurityRange();
+
+ /**
+ * The meta object literal for the '<em><b>Cidr</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RANGE__CIDR = eINSTANCE.getSecurityRange_Cidr();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl <em>Key Pair</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl
+ * @see org.openecomp.ncomp.openstack.compute.impl.ComputePackageImpl#getKeyPair()
+ * @generated
+ */
+ EClass KEY_PAIR = eINSTANCE.getKeyPair();
+
+ /**
+ * The meta object literal for the '<em><b>Public key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute KEY_PAIR__PUBLIC_KEY = eINSTANCE.getKeyPair_Public_key();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute KEY_PAIR__NAME = eINSTANCE.getKeyPair_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Fingerprint</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute KEY_PAIR__FINGERPRINT = eINSTANCE.getKeyPair_Fingerprint();
+
+ }
+
+} //ComputePackage
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeService.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeService.java
new file mode 100644
index 0000000..5664b8a
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/ComputeService.java
@@ -0,0 +1,129 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getComputeService()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ComputeService extends EObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model requestUnique="false"
+ * @generated
+ */
+ void createServer(OpenstackRequestNewServer request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" nameUnique="false"
+ * @generated
+ */
+ void deleteServer(String projectName, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model requestUnique="false"
+ * @generated
+ */
+ void createKeyPair(OpenstackRequestKeyPair request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model requestUnique="false"
+ * @generated
+ */
+ void delete(OpenstackRequestDelete request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model requestUnique="false"
+ * @generated
+ */
+ void createFlavor(OpenstackRequestFlavor request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model requestUnique="false"
+ * @generated
+ */
+ void createSecurityGroup(OpenstackRequestSecurityGroup request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model requestUnique="false"
+ * @generated
+ */
+ void serverAction(OpenstackRequestServerAction request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model vmTypeNameUnique="false" projectNameUnique="false"
+ * @generated
+ */
+ void deployVmType(String vmTypeName, String projectName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model vmTypeNameUnique="false" projectNameUnique="false"
+ * @generated
+ */
+ void undeployVmType(String vmTypeName, String projectName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model userUnique="false" projectNameUnique="false"
+ * @generated
+ */
+ void deployUser(User user, String projectName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model userUnique="false" projectNameUnique="false"
+ * @generated
+ */
+ void undeployUser(User user, String projectName);
+
+} // ComputeService
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Fault.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Fault.java
new file mode 100644
index 0000000..ae430d4
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Fault.java
@@ -0,0 +1,125 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fault</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Fault#getMessage <em>Message</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Fault#getCreated <em>Created</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Fault#getCode <em>Code</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFault()
+ * @model
+ * @generated
+ */
+public interface Fault extends EObject {
+ /**
+ * Returns the value of the '<em><b>Message</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message</em>' attribute.
+ * @see #setMessage(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFault_Message()
+ * @model unique="false"
+ * @generated
+ */
+ String getMessage();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Fault#getMessage <em>Message</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message</em>' attribute.
+ * @see #getMessage()
+ * @generated
+ */
+ void setMessage(String value);
+
+ /**
+ * Returns the value of the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Created</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Created</em>' attribute.
+ * @see #setCreated(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFault_Created()
+ * @model unique="false"
+ * @generated
+ */
+ String getCreated();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Fault#getCreated <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Created</em>' attribute.
+ * @see #getCreated()
+ * @generated
+ */
+ void setCreated(String value);
+
+ /**
+ * Returns the value of the '<em><b>Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Code</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Code</em>' attribute.
+ * @see #setCode(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFault_Code()
+ * @model unique="false"
+ * @generated
+ */
+ int getCode();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Fault#getCode <em>Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Code</em>' attribute.
+ * @see #getCode()
+ * @generated
+ */
+ void setCode(int value);
+
+} // Fault
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Flavor.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Flavor.java
new file mode 100644
index 0000000..26a5f95
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Flavor.java
@@ -0,0 +1,333 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Flavor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getRam <em>Ram</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getDisk <em>Disk</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getVcpus <em>Vcpus</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getSwap <em>Swap</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getRxtx_factor <em>Rxtx factor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getOS_FLV_EXT_DATA_ephemeral <em>OS FLV EXT DATA ephemeral</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#isOS_FLV_DISABLED_disabled <em>OS FLV DISABLED disabled</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#isOs_flavor_access_is_public <em>Os flavor access is public</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Flavor#getLinks <em>Links</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor()
+ * @model
+ * @generated
+ */
+public interface Flavor extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ram</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ram</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ram</em>' attribute.
+ * @see #setRam(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Ram()
+ * @model unique="false"
+ * @generated
+ */
+ int getRam();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getRam <em>Ram</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ram</em>' attribute.
+ * @see #getRam()
+ * @generated
+ */
+ void setRam(int value);
+
+ /**
+ * Returns the value of the '<em><b>Disk</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Disk</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Disk</em>' attribute.
+ * @see #setDisk(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Disk()
+ * @model unique="false"
+ * @generated
+ */
+ int getDisk();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getDisk <em>Disk</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Disk</em>' attribute.
+ * @see #getDisk()
+ * @generated
+ */
+ void setDisk(int value);
+
+ /**
+ * Returns the value of the '<em><b>Vcpus</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vcpus</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vcpus</em>' attribute.
+ * @see #setVcpus(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Vcpus()
+ * @model unique="false"
+ * @generated
+ */
+ int getVcpus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getVcpus <em>Vcpus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vcpus</em>' attribute.
+ * @see #getVcpus()
+ * @generated
+ */
+ void setVcpus(int value);
+
+ /**
+ * Returns the value of the '<em><b>Swap</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Swap</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Swap</em>' attribute.
+ * @see #setSwap(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Swap()
+ * @model unique="false"
+ * @generated
+ */
+ String getSwap();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getSwap <em>Swap</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Swap</em>' attribute.
+ * @see #getSwap()
+ * @generated
+ */
+ void setSwap(String value);
+
+ /**
+ * Returns the value of the '<em><b>Rxtx factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rxtx factor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rxtx factor</em>' attribute.
+ * @see #setRxtx_factor(double)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Rxtx_factor()
+ * @model unique="false"
+ * @generated
+ */
+ double getRxtx_factor();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getRxtx_factor <em>Rxtx factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rxtx factor</em>' attribute.
+ * @see #getRxtx_factor()
+ * @generated
+ */
+ void setRxtx_factor(double value);
+
+ /**
+ * Returns the value of the '<em><b>OS FLV EXT DATA ephemeral</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS FLV EXT DATA ephemeral</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS FLV EXT DATA ephemeral</em>' attribute.
+ * @see #setOS_FLV_EXT_DATA_ephemeral(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_OS_FLV_EXT_DATA_ephemeral()
+ * @model unique="false"
+ * @generated
+ */
+ int getOS_FLV_EXT_DATA_ephemeral();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#getOS_FLV_EXT_DATA_ephemeral <em>OS FLV EXT DATA ephemeral</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS FLV EXT DATA ephemeral</em>' attribute.
+ * @see #getOS_FLV_EXT_DATA_ephemeral()
+ * @generated
+ */
+ void setOS_FLV_EXT_DATA_ephemeral(int value);
+
+ /**
+ * Returns the value of the '<em><b>OS FLV DISABLED disabled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS FLV DISABLED disabled</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS FLV DISABLED disabled</em>' attribute.
+ * @see #setOS_FLV_DISABLED_disabled(boolean)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_OS_FLV_DISABLED_disabled()
+ * @model unique="false"
+ * @generated
+ */
+ boolean isOS_FLV_DISABLED_disabled();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#isOS_FLV_DISABLED_disabled <em>OS FLV DISABLED disabled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS FLV DISABLED disabled</em>' attribute.
+ * @see #isOS_FLV_DISABLED_disabled()
+ * @generated
+ */
+ void setOS_FLV_DISABLED_disabled(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Os flavor access is public</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Os flavor access is public</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Os flavor access is public</em>' attribute.
+ * @see #setOs_flavor_access_is_public(boolean)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Os_flavor_access_is_public()
+ * @model unique="false"
+ * @generated
+ */
+ boolean isOs_flavor_access_is_public();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Flavor#isOs_flavor_access_is_public <em>Os flavor access is public</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Os flavor access is public</em>' attribute.
+ * @see #isOs_flavor_access_is_public()
+ * @generated
+ */
+ void setOs_flavor_access_is_public(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Links</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Link}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Links</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Links</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFlavor_Links()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Link> getLinks();
+
+} // Flavor
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/FloatingIp.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/FloatingIp.java
new file mode 100644
index 0000000..b842a4b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/FloatingIp.java
@@ -0,0 +1,179 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Floating Ip</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getInstance_id <em>Instance id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getIp <em>Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getFixed_ip <em>Fixed ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getPool <em>Pool</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFloatingIp()
+ * @model
+ * @generated
+ */
+public interface FloatingIp extends EObject {
+ /**
+ * Returns the value of the '<em><b>Instance id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Instance id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Instance id</em>' attribute.
+ * @see #setInstance_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFloatingIp_Instance_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getInstance_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getInstance_id <em>Instance id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Instance id</em>' attribute.
+ * @see #getInstance_id()
+ * @generated
+ */
+ void setInstance_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip</em>' attribute.
+ * @see #setIp(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFloatingIp_Ip()
+ * @model unique="false"
+ * @generated
+ */
+ String getIp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getIp <em>Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip</em>' attribute.
+ * @see #getIp()
+ * @generated
+ */
+ void setIp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fixed ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fixed ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fixed ip</em>' attribute.
+ * @see #setFixed_ip(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFloatingIp_Fixed_ip()
+ * @model unique="false"
+ * @generated
+ */
+ String getFixed_ip();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getFixed_ip <em>Fixed ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fixed ip</em>' attribute.
+ * @see #getFixed_ip()
+ * @generated
+ */
+ void setFixed_ip(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFloatingIp_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Pool</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pool</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pool</em>' attribute.
+ * @see #setPool(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getFloatingIp_Pool()
+ * @model unique="false"
+ * @generated
+ */
+ String getPool();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.FloatingIp#getPool <em>Pool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pool</em>' attribute.
+ * @see #getPool()
+ * @generated
+ */
+ void setPool(String value);
+
+} // FloatingIp
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Image.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Image.java
new file mode 100644
index 0000000..86f7f4d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Image.java
@@ -0,0 +1,404 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getUpdated <em>Updated</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getCreated <em>Created</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getProgress <em>Progress</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getMinDisk <em>Min Disk</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getMinRam <em>Min Ram</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getOS_EXT_IMG_SIZE_size <em>OS EXT IMG SIZE size</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getServer <em>Server</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getLinks <em>Links</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Image#getMetadata <em>Metadata</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage()
+ * @model
+ * @generated
+ */
+public interface Image extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Updated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Updated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Updated</em>' attribute.
+ * @see #setUpdated(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Updated()
+ * @model unique="false"
+ * @generated
+ */
+ String getUpdated();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getUpdated <em>Updated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updated</em>' attribute.
+ * @see #getUpdated()
+ * @generated
+ */
+ void setUpdated(String value);
+
+ /**
+ * Returns the value of the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Created</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Created</em>' attribute.
+ * @see #setCreated(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Created()
+ * @model unique="false"
+ * @generated
+ */
+ String getCreated();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getCreated <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Created</em>' attribute.
+ * @see #getCreated()
+ * @generated
+ */
+ void setCreated(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User id</em>' attribute.
+ * @see #setUser_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_User_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getUser_id <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User id</em>' attribute.
+ * @see #getUser_id()
+ * @generated
+ */
+ void setUser_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Progress</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Progress</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Progress</em>' attribute.
+ * @see #setProgress(Long)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Progress()
+ * @model unique="false"
+ * @generated
+ */
+ Long getProgress();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getProgress <em>Progress</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Progress</em>' attribute.
+ * @see #getProgress()
+ * @generated
+ */
+ void setProgress(Long value);
+
+ /**
+ * Returns the value of the '<em><b>Min Disk</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min Disk</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Min Disk</em>' attribute.
+ * @see #setMinDisk(Long)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_MinDisk()
+ * @model unique="false"
+ * @generated
+ */
+ Long getMinDisk();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getMinDisk <em>Min Disk</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Min Disk</em>' attribute.
+ * @see #getMinDisk()
+ * @generated
+ */
+ void setMinDisk(Long value);
+
+ /**
+ * Returns the value of the '<em><b>Min Ram</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min Ram</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Min Ram</em>' attribute.
+ * @see #setMinRam(Long)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_MinRam()
+ * @model unique="false"
+ * @generated
+ */
+ Long getMinRam();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getMinRam <em>Min Ram</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Min Ram</em>' attribute.
+ * @see #getMinRam()
+ * @generated
+ */
+ void setMinRam(Long value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT IMG SIZE size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT IMG SIZE size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT IMG SIZE size</em>' attribute.
+ * @see #setOS_EXT_IMG_SIZE_size(Long)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_OS_EXT_IMG_SIZE_size()
+ * @model unique="false"
+ * @generated
+ */
+ Long getOS_EXT_IMG_SIZE_size();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getOS_EXT_IMG_SIZE_size <em>OS EXT IMG SIZE size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT IMG SIZE size</em>' attribute.
+ * @see #getOS_EXT_IMG_SIZE_size()
+ * @generated
+ */
+ void setOS_EXT_IMG_SIZE_size(Long value);
+
+ /**
+ * Returns the value of the '<em><b>Server</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Server</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Server</em>' containment reference.
+ * @see #setServer(Reference)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Server()
+ * @model containment="true"
+ * @generated
+ */
+ Reference getServer();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Image#getServer <em>Server</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Server</em>' containment reference.
+ * @see #getServer()
+ * @generated
+ */
+ void setServer(Reference value);
+
+ /**
+ * Returns the value of the '<em><b>Links</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Link}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Links</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Links</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Links()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Link> getLinks();
+
+ /**
+ * Returns the value of the '<em><b>Metadata</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Metadata}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Metadata</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Metadata</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getImage_Metadata()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Metadata> getMetadata();
+
+} // Image
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/KeyPair.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/KeyPair.java
new file mode 100644
index 0000000..d9ca5a8
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/KeyPair.java
@@ -0,0 +1,125 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Key Pair</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.KeyPair#getPublic_key <em>Public key</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.KeyPair#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.KeyPair#getFingerprint <em>Fingerprint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getKeyPair()
+ * @model
+ * @generated
+ */
+public interface KeyPair extends EObject {
+ /**
+ * Returns the value of the '<em><b>Public key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Public key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Public key</em>' attribute.
+ * @see #setPublic_key(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getKeyPair_Public_key()
+ * @model unique="false"
+ * @generated
+ */
+ String getPublic_key();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.KeyPair#getPublic_key <em>Public key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Public key</em>' attribute.
+ * @see #getPublic_key()
+ * @generated
+ */
+ void setPublic_key(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getKeyPair_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.KeyPair#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fingerprint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fingerprint</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fingerprint</em>' attribute.
+ * @see #setFingerprint(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getKeyPair_Fingerprint()
+ * @model unique="false"
+ * @generated
+ */
+ String getFingerprint();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.KeyPair#getFingerprint <em>Fingerprint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fingerprint</em>' attribute.
+ * @see #getFingerprint()
+ * @generated
+ */
+ void setFingerprint(String value);
+
+} // KeyPair
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Link.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Link.java
new file mode 100644
index 0000000..3e09988
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Link.java
@@ -0,0 +1,125 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Link#getRel <em>Rel</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Link#getHref <em>Href</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Link#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getLink()
+ * @model
+ * @generated
+ */
+public interface Link extends EObject {
+ /**
+ * Returns the value of the '<em><b>Rel</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rel</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rel</em>' attribute.
+ * @see #setRel(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getLink_Rel()
+ * @model unique="false"
+ * @generated
+ */
+ String getRel();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Link#getRel <em>Rel</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rel</em>' attribute.
+ * @see #getRel()
+ * @generated
+ */
+ void setRel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Href</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Href</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Href</em>' attribute.
+ * @see #setHref(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getLink_Href()
+ * @model unique="false"
+ * @generated
+ */
+ String getHref();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Link#getHref <em>Href</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Href</em>' attribute.
+ * @see #getHref()
+ * @generated
+ */
+ void setHref(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getLink_Type()
+ * @model unique="false"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Link#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // Link
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Metadata.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Metadata.java
new file mode 100644
index 0000000..49bfa6e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Metadata.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Metadata</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Metadata#getKey <em>Key</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Metadata#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getMetadata()
+ * @model
+ * @generated
+ */
+public interface Metadata extends EObject {
+ /**
+ * Returns the value of the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Key</em>' attribute.
+ * @see #setKey(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getMetadata_Key()
+ * @model unique="false"
+ * @generated
+ */
+ String getKey();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Metadata#getKey <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Key</em>' attribute.
+ * @see #getKey()
+ * @generated
+ */
+ void setKey(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getMetadata_Value()
+ * @model unique="false"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Metadata#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Metadata
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestFlavor.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestFlavor.java
new file mode 100644
index 0000000..9d53f4b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestFlavor.java
@@ -0,0 +1,72 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Flavor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor#getVmType <em>Vm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestFlavor()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestFlavor extends OpenStackRequest {
+ /**
+ * Returns the value of the '<em><b>Vm Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vm Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vm Type</em>' containment reference.
+ * @see #setVmType(VirtualMachineType)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestFlavor_VmType()
+ * @model containment="true"
+ * @generated
+ */
+ VirtualMachineType getVmType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor#getVmType <em>Vm Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vm Type</em>' containment reference.
+ * @see #getVmType()
+ * @generated
+ */
+ void setVmType(VirtualMachineType value);
+
+} // OpenstackRequestFlavor
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestKeyPair.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestKeyPair.java
new file mode 100644
index 0000000..71f1e0f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestKeyPair.java
@@ -0,0 +1,72 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Key Pair</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair#getUser <em>User</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestKeyPair()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestKeyPair extends OpenStackRequest {
+ /**
+ * Returns the value of the '<em><b>User</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User</em>' containment reference.
+ * @see #setUser(User)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestKeyPair_User()
+ * @model containment="true"
+ * @generated
+ */
+ User getUser();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair#getUser <em>User</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User</em>' containment reference.
+ * @see #getUser()
+ * @generated
+ */
+ void setUser(User value);
+
+} // OpenstackRequestKeyPair
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestNewServer.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestNewServer.java
new file mode 100644
index 0000000..00c9bae
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestNewServer.java
@@ -0,0 +1,243 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request New Server</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getHypervisor <em>Hypervisor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser <em>User</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getNetworks <em>Networks</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser_data <em>User data</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getFloatingIp <em>Floating Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getVmType <em>Vm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestNewServer extends OpenStackRequest {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Hypervisor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hypervisor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hypervisor</em>' attribute.
+ * @see #setHypervisor(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_Hypervisor()
+ * @model unique="false"
+ * @generated
+ */
+ String getHypervisor();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getHypervisor <em>Hypervisor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hypervisor</em>' attribute.
+ * @see #getHypervisor()
+ * @generated
+ */
+ void setHypervisor(String value);
+
+ /**
+ * Returns the value of the '<em><b>User</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User</em>' attribute.
+ * @see #setUser(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_User()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser <em>User</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User</em>' attribute.
+ * @see #getUser()
+ * @generated
+ */
+ void setUser(String value);
+
+ /**
+ * Returns the value of the '<em><b>Networks</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Networks</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Networks</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_Networks()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getNetworks();
+
+ /**
+ * Returns the value of the '<em><b>Ports</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ports</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ports</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_Ports()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getPorts();
+
+ /**
+ * Returns the value of the '<em><b>User data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User data</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User data</em>' attribute.
+ * @see #setUser_data(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_User_data()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser_data();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getUser_data <em>User data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User data</em>' attribute.
+ * @see #getUser_data()
+ * @generated
+ */
+ void setUser_data(String value);
+
+ /**
+ * Returns the value of the '<em><b>Floating Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Floating Ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Floating Ip</em>' attribute.
+ * @see #setFloatingIp(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_FloatingIp()
+ * @model unique="false"
+ * @generated
+ */
+ String getFloatingIp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getFloatingIp <em>Floating Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Floating Ip</em>' attribute.
+ * @see #getFloatingIp()
+ * @generated
+ */
+ void setFloatingIp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Vm Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vm Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vm Type</em>' containment reference.
+ * @see #setVmType(VirtualMachineType)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestNewServer_VmType()
+ * @model containment="true"
+ * @generated
+ */
+ VirtualMachineType getVmType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer#getVmType <em>Vm Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vm Type</em>' containment reference.
+ * @see #getVmType()
+ * @generated
+ */
+ void setVmType(VirtualMachineType value);
+
+} // OpenstackRequestNewServer
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestPoll.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestPoll.java
new file mode 100644
index 0000000..810e34b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestPoll.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Poll</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestPoll()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestPoll extends OpenStackRequest {
+} // OpenstackRequestPoll
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestSecurityGroup.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestSecurityGroup.java
new file mode 100644
index 0000000..45a7434
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestSecurityGroup.java
@@ -0,0 +1,72 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Security Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup#getVmType <em>Vm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestSecurityGroup()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestSecurityGroup extends OpenStackRequest {
+ /**
+ * Returns the value of the '<em><b>Vm Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vm Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vm Type</em>' containment reference.
+ * @see #setVmType(VirtualMachineType)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestSecurityGroup_VmType()
+ * @model containment="true"
+ * @generated
+ */
+ VirtualMachineType getVmType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup#getVmType <em>Vm Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vm Type</em>' containment reference.
+ * @see #getVmType()
+ * @generated
+ */
+ void setVmType(VirtualMachineType value);
+
+} // OpenstackRequestSecurityGroup
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestServerAction.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestServerAction.java
new file mode 100644
index 0000000..4eb1d57
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/OpenstackRequestServerAction.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Server Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getAction <em>Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestServerAction()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestServerAction extends OpenStackRequest {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestServerAction_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Action</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Action</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Action</em>' attribute.
+ * @see #setAction(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getOpenstackRequestServerAction_Action()
+ * @model unique="false"
+ * @generated
+ */
+ String getAction();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction#getAction <em>Action</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Action</em>' attribute.
+ * @see #getAction()
+ * @generated
+ */
+ void setAction(String value);
+
+} // OpenstackRequestServerAction
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Personality.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Personality.java
new file mode 100644
index 0000000..42e5156
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Personality.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Personality</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Personality#getPath <em>Path</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Personality#getContents <em>Contents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getPersonality()
+ * @model
+ * @generated
+ */
+public interface Personality extends EObject {
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path</em>' attribute.
+ * @see #setPath(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getPersonality_Path()
+ * @model unique="false"
+ * @generated
+ */
+ String getPath();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Personality#getPath <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path</em>' attribute.
+ * @see #getPath()
+ * @generated
+ */
+ void setPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Contents</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Contents</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Contents</em>' attribute.
+ * @see #setContents(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getPersonality_Contents()
+ * @model unique="false"
+ * @generated
+ */
+ String getContents();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Personality#getContents <em>Contents</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Contents</em>' attribute.
+ * @see #getContents()
+ * @generated
+ */
+ void setContents(String value);
+
+} // Personality
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Reference.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Reference.java
new file mode 100644
index 0000000..daf8be0
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Reference.java
@@ -0,0 +1,90 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Reference#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Reference#getLinks <em>Links</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getReference()
+ * @model
+ * @generated
+ */
+public interface Reference extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getReference_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Reference#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Links</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Link}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Links</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Links</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getReference_Links()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Link> getLinks();
+
+} // Reference
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityGroup.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityGroup.java
new file mode 100644
index 0000000..7a585d8
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityGroup.java
@@ -0,0 +1,144 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getRules <em>Rules</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityGroup()
+ * @model
+ * @generated
+ */
+public interface SecurityGroup extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Rules</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.SecurityRule}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rules</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rules</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityGroup_Rules()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SecurityRule> getRules();
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityGroup_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityGroup_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityGroup_Description()
+ * @model unique="false"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // SecurityGroup
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRange.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRange.java
new file mode 100644
index 0000000..7dd610c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRange.java
@@ -0,0 +1,71 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRange#getCidr <em>Cidr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRange()
+ * @model
+ * @generated
+ */
+public interface SecurityRange extends EObject {
+ /**
+ * Returns the value of the '<em><b>Cidr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cidr</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cidr</em>' attribute.
+ * @see #setCidr(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRange_Cidr()
+ * @model unique="false"
+ * @generated
+ */
+ String getCidr();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRange#getCidr <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cidr</em>' attribute.
+ * @see #getCidr()
+ * @generated
+ */
+ void setCidr(String value);
+
+} // SecurityRange
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRule.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRule.java
new file mode 100644
index 0000000..e4b1184
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/SecurityRule.java
@@ -0,0 +1,233 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getFrom_port <em>From port</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getGroup <em>Group</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_protocol <em>Ip protocol</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getTo_port <em>To port</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getParent_group_id <em>Parent group id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_range <em>Ip range</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule()
+ * @model
+ * @generated
+ */
+public interface SecurityRule extends EObject {
+ /**
+ * Returns the value of the '<em><b>From port</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From port</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From port</em>' attribute.
+ * @see #setFrom_port(Integer)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_From_port()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getFrom_port();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getFrom_port <em>From port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From port</em>' attribute.
+ * @see #getFrom_port()
+ * @generated
+ */
+ void setFrom_port(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Group</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Group</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Group</em>' containment reference.
+ * @see #setGroup(SecurityGroup)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_Group()
+ * @model containment="true"
+ * @generated
+ */
+ SecurityGroup getGroup();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getGroup <em>Group</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Group</em>' containment reference.
+ * @see #getGroup()
+ * @generated
+ */
+ void setGroup(SecurityGroup value);
+
+ /**
+ * Returns the value of the '<em><b>Ip protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip protocol</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip protocol</em>' attribute.
+ * @see #setIp_protocol(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_Ip_protocol()
+ * @model unique="false"
+ * @generated
+ */
+ String getIp_protocol();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_protocol <em>Ip protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip protocol</em>' attribute.
+ * @see #getIp_protocol()
+ * @generated
+ */
+ void setIp_protocol(String value);
+
+ /**
+ * Returns the value of the '<em><b>To port</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To port</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To port</em>' attribute.
+ * @see #setTo_port(Integer)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_To_port()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getTo_port();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getTo_port <em>To port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To port</em>' attribute.
+ * @see #getTo_port()
+ * @generated
+ */
+ void setTo_port(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Parent group id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent group id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parent group id</em>' attribute.
+ * @see #setParent_group_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_Parent_group_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getParent_group_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getParent_group_id <em>Parent group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent group id</em>' attribute.
+ * @see #getParent_group_id()
+ * @generated
+ */
+ void setParent_group_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ip range</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip range</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip range</em>' containment reference.
+ * @see #setIp_range(SecurityRange)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_Ip_range()
+ * @model containment="true"
+ * @generated
+ */
+ SecurityRange getIp_range();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getIp_range <em>Ip range</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip range</em>' containment reference.
+ * @see #getIp_range()
+ * @generated
+ */
+ void setIp_range(SecurityRange value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getSecurityRule_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.SecurityRule#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // SecurityRule
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Server.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Server.java
new file mode 100644
index 0000000..60e8f28
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Server.java
@@ -0,0 +1,789 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Server</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getUpdated <em>Updated</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getCreated <em>Created</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getHostId <em>Host Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getAccessIPv4 <em>Access IPv4</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getAccessIPv6 <em>Access IPv6</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getConfig_drive <em>Config drive</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getKey_name <em>Key name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getProgress <em>Progress</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_DCF_diskConfig <em>OS DCF disk Config</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_power_state <em>OS EXT STS power state</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_vm_state <em>OS EXT STS vm state</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_task_state <em>OS EXT STS task state</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_host <em>OS EXT SRV ATTR host</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_instance_name <em>OS EXT SRV ATTR instance name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_hypervisor_hostname <em>OS EXT SRV ATTR hypervisor hostname</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_launched_at <em>OS SRV USG launched at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_terminated_at <em>OS SRV USG terminated at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getImage <em>Image</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getFlavor <em>Flavor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getAddresses <em>Addresses</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getSecurity_groups <em>Security groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getMetadata <em>Metadata</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getLinks <em>Links</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Server#getFault <em>Fault</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer()
+ * @model
+ * @generated
+ */
+public interface Server extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>User id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>User id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>User id</em>' attribute.
+ * @see #setUser_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_User_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getUser_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getUser_id <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>User id</em>' attribute.
+ * @see #getUser_id()
+ * @generated
+ */
+ void setUser_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Updated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Updated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Updated</em>' attribute.
+ * @see #setUpdated(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Updated()
+ * @model unique="false"
+ * @generated
+ */
+ String getUpdated();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getUpdated <em>Updated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updated</em>' attribute.
+ * @see #getUpdated()
+ * @generated
+ */
+ void setUpdated(String value);
+
+ /**
+ * Returns the value of the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Created</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Created</em>' attribute.
+ * @see #setCreated(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Created()
+ * @model unique="false"
+ * @generated
+ */
+ String getCreated();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getCreated <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Created</em>' attribute.
+ * @see #getCreated()
+ * @generated
+ */
+ void setCreated(String value);
+
+ /**
+ * Returns the value of the '<em><b>Host Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Host Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Host Id</em>' attribute.
+ * @see #setHostId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_HostId()
+ * @model unique="false"
+ * @generated
+ */
+ String getHostId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getHostId <em>Host Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Host Id</em>' attribute.
+ * @see #getHostId()
+ * @generated
+ */
+ void setHostId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Access IPv4</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access IPv4</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access IPv4</em>' attribute.
+ * @see #setAccessIPv4(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_AccessIPv4()
+ * @model unique="false"
+ * @generated
+ */
+ String getAccessIPv4();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getAccessIPv4 <em>Access IPv4</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access IPv4</em>' attribute.
+ * @see #getAccessIPv4()
+ * @generated
+ */
+ void setAccessIPv4(String value);
+
+ /**
+ * Returns the value of the '<em><b>Access IPv6</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access IPv6</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access IPv6</em>' attribute.
+ * @see #setAccessIPv6(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_AccessIPv6()
+ * @model unique="false"
+ * @generated
+ */
+ String getAccessIPv6();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getAccessIPv6 <em>Access IPv6</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access IPv6</em>' attribute.
+ * @see #getAccessIPv6()
+ * @generated
+ */
+ void setAccessIPv6(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Config drive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Config drive</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Config drive</em>' attribute.
+ * @see #setConfig_drive(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Config_drive()
+ * @model unique="false"
+ * @generated
+ */
+ String getConfig_drive();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getConfig_drive <em>Config drive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Config drive</em>' attribute.
+ * @see #getConfig_drive()
+ * @generated
+ */
+ void setConfig_drive(String value);
+
+ /**
+ * Returns the value of the '<em><b>Key name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Key name</em>' attribute.
+ * @see #setKey_name(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Key_name()
+ * @model unique="false"
+ * @generated
+ */
+ String getKey_name();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getKey_name <em>Key name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Key name</em>' attribute.
+ * @see #getKey_name()
+ * @generated
+ */
+ void setKey_name(String value);
+
+ /**
+ * Returns the value of the '<em><b>Progress</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Progress</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Progress</em>' attribute.
+ * @see #setProgress(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Progress()
+ * @model unique="false"
+ * @generated
+ */
+ int getProgress();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getProgress <em>Progress</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Progress</em>' attribute.
+ * @see #getProgress()
+ * @generated
+ */
+ void setProgress(int value);
+
+ /**
+ * Returns the value of the '<em><b>OS DCF disk Config</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS DCF disk Config</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS DCF disk Config</em>' attribute.
+ * @see #setOS_DCF_diskConfig(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_DCF_diskConfig()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_DCF_diskConfig();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_DCF_diskConfig <em>OS DCF disk Config</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS DCF disk Config</em>' attribute.
+ * @see #getOS_DCF_diskConfig()
+ * @generated
+ */
+ void setOS_DCF_diskConfig(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT STS power state</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT STS power state</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT STS power state</em>' attribute.
+ * @see #setOS_EXT_STS_power_state(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_EXT_STS_power_state()
+ * @model unique="false"
+ * @generated
+ */
+ int getOS_EXT_STS_power_state();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_power_state <em>OS EXT STS power state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT STS power state</em>' attribute.
+ * @see #getOS_EXT_STS_power_state()
+ * @generated
+ */
+ void setOS_EXT_STS_power_state(int value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT STS vm state</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT STS vm state</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT STS vm state</em>' attribute.
+ * @see #setOS_EXT_STS_vm_state(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_EXT_STS_vm_state()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_STS_vm_state();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_vm_state <em>OS EXT STS vm state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT STS vm state</em>' attribute.
+ * @see #getOS_EXT_STS_vm_state()
+ * @generated
+ */
+ void setOS_EXT_STS_vm_state(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT STS task state</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT STS task state</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT STS task state</em>' attribute.
+ * @see #setOS_EXT_STS_task_state(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_EXT_STS_task_state()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_STS_task_state();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_STS_task_state <em>OS EXT STS task state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT STS task state</em>' attribute.
+ * @see #getOS_EXT_STS_task_state()
+ * @generated
+ */
+ void setOS_EXT_STS_task_state(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT SRV ATTR host</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT SRV ATTR host</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT SRV ATTR host</em>' attribute.
+ * @see #setOS_EXT_SRV_ATTR_host(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_EXT_SRV_ATTR_host()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_SRV_ATTR_host();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_host <em>OS EXT SRV ATTR host</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT SRV ATTR host</em>' attribute.
+ * @see #getOS_EXT_SRV_ATTR_host()
+ * @generated
+ */
+ void setOS_EXT_SRV_ATTR_host(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT SRV ATTR instance name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT SRV ATTR instance name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT SRV ATTR instance name</em>' attribute.
+ * @see #setOS_EXT_SRV_ATTR_instance_name(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_EXT_SRV_ATTR_instance_name()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_SRV_ATTR_instance_name();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_instance_name <em>OS EXT SRV ATTR instance name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT SRV ATTR instance name</em>' attribute.
+ * @see #getOS_EXT_SRV_ATTR_instance_name()
+ * @generated
+ */
+ void setOS_EXT_SRV_ATTR_instance_name(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS EXT SRV ATTR hypervisor hostname</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS EXT SRV ATTR hypervisor hostname</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS EXT SRV ATTR hypervisor hostname</em>' attribute.
+ * @see #setOS_EXT_SRV_ATTR_hypervisor_hostname(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_EXT_SRV_ATTR_hypervisor_hostname()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_EXT_SRV_ATTR_hypervisor_hostname();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_EXT_SRV_ATTR_hypervisor_hostname <em>OS EXT SRV ATTR hypervisor hostname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS EXT SRV ATTR hypervisor hostname</em>' attribute.
+ * @see #getOS_EXT_SRV_ATTR_hypervisor_hostname()
+ * @generated
+ */
+ void setOS_EXT_SRV_ATTR_hypervisor_hostname(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS SRV USG launched at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS SRV USG launched at</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS SRV USG launched at</em>' attribute.
+ * @see #setOS_SRV_USG_launched_at(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_SRV_USG_launched_at()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_SRV_USG_launched_at();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_launched_at <em>OS SRV USG launched at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS SRV USG launched at</em>' attribute.
+ * @see #getOS_SRV_USG_launched_at()
+ * @generated
+ */
+ void setOS_SRV_USG_launched_at(String value);
+
+ /**
+ * Returns the value of the '<em><b>OS SRV USG terminated at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>OS SRV USG terminated at</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>OS SRV USG terminated at</em>' attribute.
+ * @see #setOS_SRV_USG_terminated_at(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_OS_SRV_USG_terminated_at()
+ * @model unique="false"
+ * @generated
+ */
+ String getOS_SRV_USG_terminated_at();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getOS_SRV_USG_terminated_at <em>OS SRV USG terminated at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>OS SRV USG terminated at</em>' attribute.
+ * @see #getOS_SRV_USG_terminated_at()
+ * @generated
+ */
+ void setOS_SRV_USG_terminated_at(String value);
+
+ /**
+ * Returns the value of the '<em><b>Image</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Image</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Image</em>' containment reference.
+ * @see #setImage(Reference)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Image()
+ * @model containment="true"
+ * @generated
+ */
+ Reference getImage();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getImage <em>Image</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Image</em>' containment reference.
+ * @see #getImage()
+ * @generated
+ */
+ void setImage(Reference value);
+
+ /**
+ * Returns the value of the '<em><b>Flavor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flavor</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flavor</em>' containment reference.
+ * @see #setFlavor(Reference)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Flavor()
+ * @model containment="true"
+ * @generated
+ */
+ Reference getFlavor();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getFlavor <em>Flavor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Flavor</em>' containment reference.
+ * @see #getFlavor()
+ * @generated
+ */
+ void setFlavor(Reference value);
+
+ /**
+ * Returns the value of the '<em><b>Addresses</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Addresses}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Addresses</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Addresses</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Addresses()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Addresses> getAddresses();
+
+ /**
+ * Returns the value of the '<em><b>Security groups</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.SecurityGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Security groups</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Security groups</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Security_groups()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SecurityGroup> getSecurity_groups();
+
+ /**
+ * Returns the value of the '<em><b>Metadata</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Metadata}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Metadata</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Metadata</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Metadata()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Metadata> getMetadata();
+
+ /**
+ * Returns the value of the '<em><b>Links</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Link}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Links</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Links</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Links()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Link> getLinks();
+
+ /**
+ * Returns the value of the '<em><b>Fault</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fault</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fault</em>' containment reference.
+ * @see #setFault(Fault)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getServer_Fault()
+ * @model containment="true"
+ * @generated
+ */
+ Fault getFault();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Server#getFault <em>Fault</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fault</em>' containment reference.
+ * @see #getFault()
+ * @generated
+ */
+ void setFault(Fault value);
+
+} // Server
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Volume.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Volume.java
new file mode 100644
index 0000000..0f89f5d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/Volume.java
@@ -0,0 +1,323 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Volume</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getDisplay_name <em>Display name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getAttachments <em>Attachments</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getAvailability_zone <em>Availability zone</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getCreated_at <em>Created at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getVolume_type <em>Volume type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getMetadata <em>Metadata</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getSize <em>Size</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getSnapshot_id <em>Snapshot id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.Volume#getDisplay_description <em>Display description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume()
+ * @model
+ * @generated
+ */
+public interface Volume extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Display name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Display name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Display name</em>' attribute.
+ * @see #setDisplay_name(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Display_name()
+ * @model unique="false"
+ * @generated
+ */
+ String getDisplay_name();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getDisplay_name <em>Display name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Display name</em>' attribute.
+ * @see #getDisplay_name()
+ * @generated
+ */
+ void setDisplay_name(String value);
+
+ /**
+ * Returns the value of the '<em><b>Attachments</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.VolumeAttachment}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attachments</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attachments</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Attachments()
+ * @model containment="true"
+ * @generated
+ */
+ EList<VolumeAttachment> getAttachments();
+
+ /**
+ * Returns the value of the '<em><b>Availability zone</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Availability zone</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Availability zone</em>' attribute.
+ * @see #setAvailability_zone(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Availability_zone()
+ * @model unique="false"
+ * @generated
+ */
+ String getAvailability_zone();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getAvailability_zone <em>Availability zone</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Availability zone</em>' attribute.
+ * @see #getAvailability_zone()
+ * @generated
+ */
+ void setAvailability_zone(String value);
+
+ /**
+ * Returns the value of the '<em><b>Created at</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Created at</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Created at</em>' attribute.
+ * @see #setCreated_at(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Created_at()
+ * @model unique="false"
+ * @generated
+ */
+ String getCreated_at();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getCreated_at <em>Created at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Created at</em>' attribute.
+ * @see #getCreated_at()
+ * @generated
+ */
+ void setCreated_at(String value);
+
+ /**
+ * Returns the value of the '<em><b>Volume type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Volume type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Volume type</em>' attribute.
+ * @see #setVolume_type(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Volume_type()
+ * @model unique="false"
+ * @generated
+ */
+ String getVolume_type();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getVolume_type <em>Volume type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Volume type</em>' attribute.
+ * @see #getVolume_type()
+ * @generated
+ */
+ void setVolume_type(String value);
+
+ /**
+ * Returns the value of the '<em><b>Metadata</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Metadata}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Metadata</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Metadata</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Metadata()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Metadata> getMetadata();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Size</em>' attribute.
+ * @see #setSize(int)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Size()
+ * @model unique="false"
+ * @generated
+ */
+ int getSize();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getSize <em>Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Size</em>' attribute.
+ * @see #getSize()
+ * @generated
+ */
+ void setSize(int value);
+
+ /**
+ * Returns the value of the '<em><b>Snapshot id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Snapshot id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Snapshot id</em>' attribute.
+ * @see #setSnapshot_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Snapshot_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getSnapshot_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getSnapshot_id <em>Snapshot id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Snapshot id</em>' attribute.
+ * @see #getSnapshot_id()
+ * @generated
+ */
+ void setSnapshot_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Display description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Display description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Display description</em>' attribute.
+ * @see #setDisplay_description(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolume_Display_description()
+ * @model unique="false"
+ * @generated
+ */
+ String getDisplay_description();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.Volume#getDisplay_description <em>Display description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Display description</em>' attribute.
+ * @see #getDisplay_description()
+ * @generated
+ */
+ void setDisplay_description(String value);
+
+} // Volume
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/VolumeAttachment.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/VolumeAttachment.java
new file mode 100644
index 0000000..862b337
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/VolumeAttachment.java
@@ -0,0 +1,152 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Volume Attachment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getDevice <em>Device</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getServer_id <em>Server id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getVolume_id <em>Volume id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolumeAttachment()
+ * @model
+ * @generated
+ */
+public interface VolumeAttachment extends EObject {
+ /**
+ * Returns the value of the '<em><b>Device</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Device</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Device</em>' attribute.
+ * @see #setDevice(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolumeAttachment_Device()
+ * @model unique="false"
+ * @generated
+ */
+ String getDevice();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getDevice <em>Device</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Device</em>' attribute.
+ * @see #getDevice()
+ * @generated
+ */
+ void setDevice(String value);
+
+ /**
+ * Returns the value of the '<em><b>Server id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Server id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Server id</em>' attribute.
+ * @see #setServer_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolumeAttachment_Server_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getServer_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getServer_id <em>Server id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Server id</em>' attribute.
+ * @see #getServer_id()
+ * @generated
+ */
+ void setServer_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolumeAttachment_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Volume id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Volume id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Volume id</em>' attribute.
+ * @see #setVolume_id(String)
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#getVolumeAttachment_Volume_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getVolume_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment#getVolume_id <em>Volume id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Volume id</em>' attribute.
+ * @see #getVolume_id()
+ * @generated
+ */
+ void setVolume_id(String value);
+
+} // VolumeAttachment
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressImpl.java
new file mode 100644
index 0000000..23c7319
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressImpl.java
@@ -0,0 +1,346 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.Address;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Address</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.AddressImpl#getVersion <em>Version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.AddressImpl#getAddr <em>Addr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.AddressImpl#getOS_EXT_IPS_MAC_mac_addr <em>OS EXT IPS MAC mac addr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.AddressImpl#getOS_EXT_IPS_type <em>OS EXT IPS type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AddressImpl extends MinimalEObjectImpl.Container implements Address {
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final int VERSION_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected int version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAddr() <em>Addr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddr()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADDR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAddr() <em>Addr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddr()
+ * @generated
+ * @ordered
+ */
+ protected String addr = ADDR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_IPS_MAC_mac_addr() <em>OS EXT IPS MAC mac addr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_IPS_MAC_mac_addr()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_IPS_MAC_MAC_ADDR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_IPS_MAC_mac_addr() <em>OS EXT IPS MAC mac addr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_IPS_MAC_mac_addr()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_IPS_MAC_mac_addr = OS_EXT_IPS_MAC_MAC_ADDR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_IPS_type() <em>OS EXT IPS type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_IPS_type()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_IPS_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_IPS_type() <em>OS EXT IPS type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_IPS_type()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_IPS_type = OS_EXT_IPS_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddressImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.ADDRESS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVersion(int newVersion) {
+ int oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.ADDRESS__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAddr() {
+ return addr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddr(String newAddr) {
+ String oldAddr = addr;
+ addr = newAddr;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.ADDRESS__ADDR, oldAddr, addr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_IPS_MAC_mac_addr() {
+ return oS_EXT_IPS_MAC_mac_addr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_IPS_MAC_mac_addr(String newOS_EXT_IPS_MAC_mac_addr) {
+ String oldOS_EXT_IPS_MAC_mac_addr = oS_EXT_IPS_MAC_mac_addr;
+ oS_EXT_IPS_MAC_mac_addr = newOS_EXT_IPS_MAC_mac_addr;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR, oldOS_EXT_IPS_MAC_mac_addr, oS_EXT_IPS_MAC_mac_addr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_IPS_type() {
+ return oS_EXT_IPS_type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_IPS_type(String newOS_EXT_IPS_type) {
+ String oldOS_EXT_IPS_type = oS_EXT_IPS_type;
+ oS_EXT_IPS_type = newOS_EXT_IPS_type;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.ADDRESS__OS_EXT_IPS_TYPE, oldOS_EXT_IPS_type, oS_EXT_IPS_type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.ADDRESS__VERSION:
+ return getVersion();
+ case ComputePackage.ADDRESS__ADDR:
+ return getAddr();
+ case ComputePackage.ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR:
+ return getOS_EXT_IPS_MAC_mac_addr();
+ case ComputePackage.ADDRESS__OS_EXT_IPS_TYPE:
+ return getOS_EXT_IPS_type();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.ADDRESS__VERSION:
+ setVersion((Integer)newValue);
+ return;
+ case ComputePackage.ADDRESS__ADDR:
+ setAddr((String)newValue);
+ return;
+ case ComputePackage.ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR:
+ setOS_EXT_IPS_MAC_mac_addr((String)newValue);
+ return;
+ case ComputePackage.ADDRESS__OS_EXT_IPS_TYPE:
+ setOS_EXT_IPS_type((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.ADDRESS__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case ComputePackage.ADDRESS__ADDR:
+ setAddr(ADDR_EDEFAULT);
+ return;
+ case ComputePackage.ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR:
+ setOS_EXT_IPS_MAC_mac_addr(OS_EXT_IPS_MAC_MAC_ADDR_EDEFAULT);
+ return;
+ case ComputePackage.ADDRESS__OS_EXT_IPS_TYPE:
+ setOS_EXT_IPS_type(OS_EXT_IPS_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.ADDRESS__VERSION:
+ return version != VERSION_EDEFAULT;
+ case ComputePackage.ADDRESS__ADDR:
+ return ADDR_EDEFAULT == null ? addr != null : !ADDR_EDEFAULT.equals(addr);
+ case ComputePackage.ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR:
+ return OS_EXT_IPS_MAC_MAC_ADDR_EDEFAULT == null ? oS_EXT_IPS_MAC_mac_addr != null : !OS_EXT_IPS_MAC_MAC_ADDR_EDEFAULT.equals(oS_EXT_IPS_MAC_mac_addr);
+ case ComputePackage.ADDRESS__OS_EXT_IPS_TYPE:
+ return OS_EXT_IPS_TYPE_EDEFAULT == null ? oS_EXT_IPS_type != null : !OS_EXT_IPS_TYPE_EDEFAULT.equals(oS_EXT_IPS_type);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (version: ");
+ result.append(version);
+ result.append(", addr: ");
+ result.append(addr);
+ result.append(", OS_EXT_IPS_MAC_mac_addr: ");
+ result.append(oS_EXT_IPS_MAC_mac_addr);
+ result.append(", OS_EXT_IPS_type: ");
+ result.append(oS_EXT_IPS_type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AddressImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressesImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressesImpl.java
new file mode 100644
index 0000000..246e4c1
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/AddressesImpl.java
@@ -0,0 +1,243 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.Address;
+import org.openecomp.ncomp.openstack.compute.Addresses;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Addresses</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.AddressesImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.AddressesImpl#getIps <em>Ips</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AddressesImpl extends MinimalEObjectImpl.Container implements Addresses {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIps() <em>Ips</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIps()
+ * @generated
+ * @ordered
+ */
+ protected EList<Address> ips;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddressesImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.ADDRESSES;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.ADDRESSES__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Address> getIps() {
+ if (ips == null) {
+ ips = new EObjectContainmentEList<Address>(Address.class, this, ComputePackage.ADDRESSES__IPS);
+ }
+ return ips;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.ADDRESSES__IPS:
+ return ((InternalEList<?>)getIps()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.ADDRESSES__NAME:
+ return getName();
+ case ComputePackage.ADDRESSES__IPS:
+ return getIps();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.ADDRESSES__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.ADDRESSES__IPS:
+ getIps().clear();
+ getIps().addAll((Collection<? extends Address>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.ADDRESSES__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.ADDRESSES__IPS:
+ getIps().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.ADDRESSES__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.ADDRESSES__IPS:
+ return ips != null && !ips.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AddressesImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeFactoryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeFactoryImpl.java
new file mode 100644
index 0000000..e6688e6
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeFactoryImpl.java
@@ -0,0 +1,358 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComputeFactoryImpl extends EFactoryImpl implements ComputeFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComputeFactory init() {
+ try {
+ ComputeFactory theComputeFactory = (ComputeFactory)EPackage.Registry.INSTANCE.getEFactory(ComputePackage.eNS_URI);
+ if (theComputeFactory != null) {
+ return theComputeFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ComputeFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputeFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER: return createOpenstackRequestNewServer();
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR: return createOpenstackRequestKeyPair();
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR: return createOpenstackRequestFlavor();
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP: return createOpenstackRequestSecurityGroup();
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION: return createOpenstackRequestServerAction();
+ case ComputePackage.OPENSTACK_REQUEST_POLL: return createOpenstackRequestPoll();
+ case ComputePackage.SERVER: return createServer();
+ case ComputePackage.IMAGE: return createImage();
+ case ComputePackage.FLAVOR: return createFlavor();
+ case ComputePackage.ADDRESSES: return createAddresses();
+ case ComputePackage.ADDRESS: return createAddress();
+ case ComputePackage.LINK: return createLink();
+ case ComputePackage.METADATA: return createMetadata();
+ case ComputePackage.FAULT: return createFault();
+ case ComputePackage.PERSONALITY: return createPersonality();
+ case ComputePackage.REFERENCE: return createReference();
+ case ComputePackage.VOLUME: return createVolume();
+ case ComputePackage.VOLUME_ATTACHMENT: return createVolumeAttachment();
+ case ComputePackage.FLOATING_IP: return createFloatingIp();
+ case ComputePackage.SECURITY_GROUP: return createSecurityGroup();
+ case ComputePackage.SECURITY_RULE: return createSecurityRule();
+ case ComputePackage.SECURITY_RANGE: return createSecurityRange();
+ case ComputePackage.KEY_PAIR: return createKeyPair();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestNewServer createOpenstackRequestNewServer() {
+ OpenstackRequestNewServerImpl openstackRequestNewServer = new OpenstackRequestNewServerImpl();
+ return openstackRequestNewServer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestKeyPair createOpenstackRequestKeyPair() {
+ OpenstackRequestKeyPairImpl openstackRequestKeyPair = new OpenstackRequestKeyPairImpl();
+ return openstackRequestKeyPair;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestFlavor createOpenstackRequestFlavor() {
+ OpenstackRequestFlavorImpl openstackRequestFlavor = new OpenstackRequestFlavorImpl();
+ return openstackRequestFlavor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestSecurityGroup createOpenstackRequestSecurityGroup() {
+ OpenstackRequestSecurityGroupImpl openstackRequestSecurityGroup = new OpenstackRequestSecurityGroupImpl();
+ return openstackRequestSecurityGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestServerAction createOpenstackRequestServerAction() {
+ OpenstackRequestServerActionImpl openstackRequestServerAction = new OpenstackRequestServerActionImpl();
+ return openstackRequestServerAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestPoll createOpenstackRequestPoll() {
+ OpenstackRequestPollImpl openstackRequestPoll = new OpenstackRequestPollImpl();
+ return openstackRequestPoll;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Server createServer() {
+ ServerImpl server = new ServerImpl();
+ return server;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createImage() {
+ ImageImpl image = new ImageImpl();
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Flavor createFlavor() {
+ FlavorImpl flavor = new FlavorImpl();
+ return flavor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Addresses createAddresses() {
+ AddressesImpl addresses = new AddressesImpl();
+ return addresses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Address createAddress() {
+ AddressImpl address = new AddressImpl();
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Link createLink() {
+ LinkImpl link = new LinkImpl();
+ return link;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Metadata createMetadata() {
+ MetadataImpl metadata = new MetadataImpl();
+ return metadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Fault createFault() {
+ FaultImpl fault = new FaultImpl();
+ return fault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Personality createPersonality() {
+ PersonalityImpl personality = new PersonalityImpl();
+ return personality;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reference createReference() {
+ ReferenceImpl reference = new ReferenceImpl();
+ return reference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Volume createVolume() {
+ VolumeImpl volume = new VolumeImpl();
+ return volume;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VolumeAttachment createVolumeAttachment() {
+ VolumeAttachmentImpl volumeAttachment = new VolumeAttachmentImpl();
+ return volumeAttachment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FloatingIp createFloatingIp() {
+ FloatingIpImpl floatingIp = new FloatingIpImpl();
+ return floatingIp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityGroup createSecurityGroup() {
+ SecurityGroupImpl securityGroup = new SecurityGroupImpl();
+ return securityGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityRule createSecurityRule() {
+ SecurityRuleImpl securityRule = new SecurityRuleImpl();
+ return securityRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityRange createSecurityRange() {
+ SecurityRangeImpl securityRange = new SecurityRangeImpl();
+ return securityRange;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KeyPair createKeyPair() {
+ KeyPairImpl keyPair = new KeyPairImpl();
+ return keyPair;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputePackage getComputePackage() {
+ return (ComputePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ComputePackage getPackage() {
+ return ComputePackage.eINSTANCE;
+ }
+
+} //ComputeFactoryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputePackageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputePackageImpl.java
new file mode 100644
index 0000000..53dbcb9
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputePackageImpl.java
@@ -0,0 +1,2156 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.Address;
+import org.openecomp.ncomp.openstack.compute.Addresses;
+import org.openecomp.ncomp.openstack.compute.ComputeFactory;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.ComputeService;
+import org.openecomp.ncomp.openstack.compute.Fault;
+import org.openecomp.ncomp.openstack.compute.Flavor;
+import org.openecomp.ncomp.openstack.compute.FloatingIp;
+import org.openecomp.ncomp.openstack.compute.Image;
+import org.openecomp.ncomp.openstack.compute.KeyPair;
+import org.openecomp.ncomp.openstack.compute.Link;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestPoll;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction;
+import org.openecomp.ncomp.openstack.compute.Personality;
+import org.openecomp.ncomp.openstack.compute.Reference;
+import org.openecomp.ncomp.openstack.compute.SecurityGroup;
+import org.openecomp.ncomp.openstack.compute.SecurityRange;
+import org.openecomp.ncomp.openstack.compute.SecurityRule;
+import org.openecomp.ncomp.openstack.compute.Server;
+import org.openecomp.ncomp.openstack.compute.Volume;
+import org.openecomp.ncomp.openstack.compute.VolumeAttachment;
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComputePackageImpl extends EPackageImpl implements ComputePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass computeServiceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestNewServerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestKeyPairEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestFlavorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestSecurityGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestServerActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestPollEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass serverEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass flavorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addressesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addressEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass metadataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass faultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass personalityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass referenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass volumeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass volumeAttachmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass floatingIpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securityGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securityRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securityRangeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass keyPairEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ComputePackageImpl() {
+ super(eNS_URI, ComputeFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ComputePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ComputePackage init() {
+ if (isInited) return (ComputePackage)EPackage.Registry.INSTANCE.getEPackage(ComputePackage.eNS_URI);
+
+ // Obtain or create and register package
+ ComputePackageImpl theComputePackage = (ComputePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ComputePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ComputePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CorePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theComputePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theComputePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theComputePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ComputePackage.eNS_URI, theComputePackage);
+ return theComputePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComputeService() {
+ return computeServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__CreateServer__OpenstackRequestNewServer() {
+ return computeServiceEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__DeleteServer__String_String() {
+ return computeServiceEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__CreateKeyPair__OpenstackRequestKeyPair() {
+ return computeServiceEClass.getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__Delete__OpenstackRequestDelete() {
+ return computeServiceEClass.getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__CreateFlavor__OpenstackRequestFlavor() {
+ return computeServiceEClass.getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__CreateSecurityGroup__OpenstackRequestSecurityGroup() {
+ return computeServiceEClass.getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__ServerAction__OpenstackRequestServerAction() {
+ return computeServiceEClass.getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__DeployVmType__String_String() {
+ return computeServiceEClass.getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__UndeployVmType__String_String() {
+ return computeServiceEClass.getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__DeployUser__User_String() {
+ return computeServiceEClass.getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComputeService__UndeployUser__User_String() {
+ return computeServiceEClass.getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestNewServer() {
+ return openstackRequestNewServerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_Name() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_Hypervisor() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_User() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_Networks() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_Ports() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_User_data() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestNewServer_FloatingIp() {
+ return (EAttribute)openstackRequestNewServerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenstackRequestNewServer_VmType() {
+ return (EReference)openstackRequestNewServerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestKeyPair() {
+ return openstackRequestKeyPairEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenstackRequestKeyPair_User() {
+ return (EReference)openstackRequestKeyPairEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestFlavor() {
+ return openstackRequestFlavorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenstackRequestFlavor_VmType() {
+ return (EReference)openstackRequestFlavorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestSecurityGroup() {
+ return openstackRequestSecurityGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenstackRequestSecurityGroup_VmType() {
+ return (EReference)openstackRequestSecurityGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestServerAction() {
+ return openstackRequestServerActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestServerAction_Name() {
+ return (EAttribute)openstackRequestServerActionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestServerAction_Action() {
+ return (EAttribute)openstackRequestServerActionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestPoll() {
+ return openstackRequestPollEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getServer() {
+ return serverEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Id() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Tenant_id() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_User_id() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Name() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Updated() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Created() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_HostId() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_AccessIPv4() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_AccessIPv6() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Status() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Config_drive() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Key_name() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_Progress() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_DCF_diskConfig() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_EXT_STS_power_state() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_EXT_STS_vm_state() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_EXT_STS_task_state() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_EXT_SRV_ATTR_host() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_EXT_SRV_ATTR_instance_name() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_EXT_SRV_ATTR_hypervisor_hostname() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_SRV_USG_launched_at() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServer_OS_SRV_USG_terminated_at() {
+ return (EAttribute)serverEClass.getEStructuralFeatures().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Image() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Flavor() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Addresses() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Security_groups() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Metadata() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Links() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServer_Fault() {
+ return (EReference)serverEClass.getEStructuralFeatures().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImage() {
+ return imageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Id() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Name() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Updated() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Created() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Tenant_id() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_User_id() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Status() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Progress() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_MinDisk() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_MinRam() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_OS_EXT_IMG_SIZE_size() {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImage_Server() {
+ return (EReference)imageEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImage_Links() {
+ return (EReference)imageEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImage_Metadata() {
+ return (EReference)imageEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFlavor() {
+ return flavorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Id() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Name() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Ram() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Disk() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Vcpus() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Swap() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Rxtx_factor() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_OS_FLV_EXT_DATA_ephemeral() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_OS_FLV_DISABLED_disabled() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFlavor_Os_flavor_access_is_public() {
+ return (EAttribute)flavorEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlavor_Links() {
+ return (EReference)flavorEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddresses() {
+ return addressesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddresses_Name() {
+ return (EAttribute)addressesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAddresses_Ips() {
+ return (EReference)addressesEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddress() {
+ return addressEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddress_Version() {
+ return (EAttribute)addressEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddress_Addr() {
+ return (EAttribute)addressEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddress_OS_EXT_IPS_MAC_mac_addr() {
+ return (EAttribute)addressEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddress_OS_EXT_IPS_type() {
+ return (EAttribute)addressEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLink() {
+ return linkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLink_Rel() {
+ return (EAttribute)linkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLink_Href() {
+ return (EAttribute)linkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLink_Type() {
+ return (EAttribute)linkEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMetadata() {
+ return metadataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMetadata_Key() {
+ return (EAttribute)metadataEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMetadata_Value() {
+ return (EAttribute)metadataEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFault() {
+ return faultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFault_Message() {
+ return (EAttribute)faultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFault_Created() {
+ return (EAttribute)faultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFault_Code() {
+ return (EAttribute)faultEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPersonality() {
+ return personalityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPersonality_Path() {
+ return (EAttribute)personalityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPersonality_Contents() {
+ return (EAttribute)personalityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReference() {
+ return referenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReference_Id() {
+ return (EAttribute)referenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReference_Links() {
+ return (EReference)referenceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVolume() {
+ return volumeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Status() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Display_name() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVolume_Attachments() {
+ return (EReference)volumeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Availability_zone() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Created_at() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Volume_type() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVolume_Metadata() {
+ return (EReference)volumeEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Id() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Size() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Snapshot_id() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolume_Display_description() {
+ return (EAttribute)volumeEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVolumeAttachment() {
+ return volumeAttachmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolumeAttachment_Device() {
+ return (EAttribute)volumeAttachmentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolumeAttachment_Server_id() {
+ return (EAttribute)volumeAttachmentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolumeAttachment_Id() {
+ return (EAttribute)volumeAttachmentEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVolumeAttachment_Volume_id() {
+ return (EAttribute)volumeAttachmentEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFloatingIp() {
+ return floatingIpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFloatingIp_Instance_id() {
+ return (EAttribute)floatingIpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFloatingIp_Ip() {
+ return (EAttribute)floatingIpEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFloatingIp_Fixed_ip() {
+ return (EAttribute)floatingIpEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFloatingIp_Id() {
+ return (EAttribute)floatingIpEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFloatingIp_Pool() {
+ return (EAttribute)floatingIpEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecurityGroup() {
+ return securityGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSecurityGroup_Rules() {
+ return (EReference)securityGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityGroup_Tenant_id() {
+ return (EAttribute)securityGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityGroup_Id() {
+ return (EAttribute)securityGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityGroup_Description() {
+ return (EAttribute)securityGroupEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecurityRule() {
+ return securityRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_From_port() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSecurityRule_Group() {
+ return (EReference)securityRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_Ip_protocol() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_To_port() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_Parent_group_id() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSecurityRule_Ip_range() {
+ return (EReference)securityRuleEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_Id() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecurityRange() {
+ return securityRangeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRange_Cidr() {
+ return (EAttribute)securityRangeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getKeyPair() {
+ return keyPairEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getKeyPair_Public_key() {
+ return (EAttribute)keyPairEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getKeyPair_Name() {
+ return (EAttribute)keyPairEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getKeyPair_Fingerprint() {
+ return (EAttribute)keyPairEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputeFactory getComputeFactory() {
+ return (ComputeFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ computeServiceEClass = createEClass(COMPUTE_SERVICE);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___DELETE_SERVER__STRING_STRING);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___DELETE__OPENSTACKREQUESTDELETE);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___DEPLOY_VM_TYPE__STRING_STRING);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___UNDEPLOY_VM_TYPE__STRING_STRING);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___DEPLOY_USER__USER_STRING);
+ createEOperation(computeServiceEClass, COMPUTE_SERVICE___UNDEPLOY_USER__USER_STRING);
+
+ openstackRequestNewServerEClass = createEClass(OPENSTACK_REQUEST_NEW_SERVER);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__NAME);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__USER);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__NETWORKS);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__PORTS);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__USER_DATA);
+ createEAttribute(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP);
+ createEReference(openstackRequestNewServerEClass, OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE);
+
+ openstackRequestKeyPairEClass = createEClass(OPENSTACK_REQUEST_KEY_PAIR);
+ createEReference(openstackRequestKeyPairEClass, OPENSTACK_REQUEST_KEY_PAIR__USER);
+
+ openstackRequestFlavorEClass = createEClass(OPENSTACK_REQUEST_FLAVOR);
+ createEReference(openstackRequestFlavorEClass, OPENSTACK_REQUEST_FLAVOR__VM_TYPE);
+
+ openstackRequestSecurityGroupEClass = createEClass(OPENSTACK_REQUEST_SECURITY_GROUP);
+ createEReference(openstackRequestSecurityGroupEClass, OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE);
+
+ openstackRequestServerActionEClass = createEClass(OPENSTACK_REQUEST_SERVER_ACTION);
+ createEAttribute(openstackRequestServerActionEClass, OPENSTACK_REQUEST_SERVER_ACTION__NAME);
+ createEAttribute(openstackRequestServerActionEClass, OPENSTACK_REQUEST_SERVER_ACTION__ACTION);
+
+ openstackRequestPollEClass = createEClass(OPENSTACK_REQUEST_POLL);
+
+ serverEClass = createEClass(SERVER);
+ createEAttribute(serverEClass, SERVER__ID);
+ createEAttribute(serverEClass, SERVER__TENANT_ID);
+ createEAttribute(serverEClass, SERVER__USER_ID);
+ createEAttribute(serverEClass, SERVER__NAME);
+ createEAttribute(serverEClass, SERVER__UPDATED);
+ createEAttribute(serverEClass, SERVER__CREATED);
+ createEAttribute(serverEClass, SERVER__HOST_ID);
+ createEAttribute(serverEClass, SERVER__ACCESS_IPV4);
+ createEAttribute(serverEClass, SERVER__ACCESS_IPV6);
+ createEAttribute(serverEClass, SERVER__STATUS);
+ createEAttribute(serverEClass, SERVER__CONFIG_DRIVE);
+ createEAttribute(serverEClass, SERVER__KEY_NAME);
+ createEAttribute(serverEClass, SERVER__PROGRESS);
+ createEAttribute(serverEClass, SERVER__OS_DCF_DISK_CONFIG);
+ createEAttribute(serverEClass, SERVER__OS_EXT_STS_POWER_STATE);
+ createEAttribute(serverEClass, SERVER__OS_EXT_STS_VM_STATE);
+ createEAttribute(serverEClass, SERVER__OS_EXT_STS_TASK_STATE);
+ createEAttribute(serverEClass, SERVER__OS_EXT_SRV_ATTR_HOST);
+ createEAttribute(serverEClass, SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME);
+ createEAttribute(serverEClass, SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME);
+ createEAttribute(serverEClass, SERVER__OS_SRV_USG_LAUNCHED_AT);
+ createEAttribute(serverEClass, SERVER__OS_SRV_USG_TERMINATED_AT);
+ createEReference(serverEClass, SERVER__IMAGE);
+ createEReference(serverEClass, SERVER__FLAVOR);
+ createEReference(serverEClass, SERVER__ADDRESSES);
+ createEReference(serverEClass, SERVER__SECURITY_GROUPS);
+ createEReference(serverEClass, SERVER__METADATA);
+ createEReference(serverEClass, SERVER__LINKS);
+ createEReference(serverEClass, SERVER__FAULT);
+
+ imageEClass = createEClass(IMAGE);
+ createEAttribute(imageEClass, IMAGE__ID);
+ createEAttribute(imageEClass, IMAGE__NAME);
+ createEAttribute(imageEClass, IMAGE__UPDATED);
+ createEAttribute(imageEClass, IMAGE__CREATED);
+ createEAttribute(imageEClass, IMAGE__TENANT_ID);
+ createEAttribute(imageEClass, IMAGE__USER_ID);
+ createEAttribute(imageEClass, IMAGE__STATUS);
+ createEAttribute(imageEClass, IMAGE__PROGRESS);
+ createEAttribute(imageEClass, IMAGE__MIN_DISK);
+ createEAttribute(imageEClass, IMAGE__MIN_RAM);
+ createEAttribute(imageEClass, IMAGE__OS_EXT_IMG_SIZE_SIZE);
+ createEReference(imageEClass, IMAGE__SERVER);
+ createEReference(imageEClass, IMAGE__LINKS);
+ createEReference(imageEClass, IMAGE__METADATA);
+
+ flavorEClass = createEClass(FLAVOR);
+ createEAttribute(flavorEClass, FLAVOR__ID);
+ createEAttribute(flavorEClass, FLAVOR__NAME);
+ createEAttribute(flavorEClass, FLAVOR__RAM);
+ createEAttribute(flavorEClass, FLAVOR__DISK);
+ createEAttribute(flavorEClass, FLAVOR__VCPUS);
+ createEAttribute(flavorEClass, FLAVOR__SWAP);
+ createEAttribute(flavorEClass, FLAVOR__RXTX_FACTOR);
+ createEAttribute(flavorEClass, FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL);
+ createEAttribute(flavorEClass, FLAVOR__OS_FLV_DISABLED_DISABLED);
+ createEAttribute(flavorEClass, FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC);
+ createEReference(flavorEClass, FLAVOR__LINKS);
+
+ addressesEClass = createEClass(ADDRESSES);
+ createEAttribute(addressesEClass, ADDRESSES__NAME);
+ createEReference(addressesEClass, ADDRESSES__IPS);
+
+ addressEClass = createEClass(ADDRESS);
+ createEAttribute(addressEClass, ADDRESS__VERSION);
+ createEAttribute(addressEClass, ADDRESS__ADDR);
+ createEAttribute(addressEClass, ADDRESS__OS_EXT_IPS_MAC_MAC_ADDR);
+ createEAttribute(addressEClass, ADDRESS__OS_EXT_IPS_TYPE);
+
+ linkEClass = createEClass(LINK);
+ createEAttribute(linkEClass, LINK__REL);
+ createEAttribute(linkEClass, LINK__HREF);
+ createEAttribute(linkEClass, LINK__TYPE);
+
+ metadataEClass = createEClass(METADATA);
+ createEAttribute(metadataEClass, METADATA__KEY);
+ createEAttribute(metadataEClass, METADATA__VALUE);
+
+ faultEClass = createEClass(FAULT);
+ createEAttribute(faultEClass, FAULT__MESSAGE);
+ createEAttribute(faultEClass, FAULT__CREATED);
+ createEAttribute(faultEClass, FAULT__CODE);
+
+ personalityEClass = createEClass(PERSONALITY);
+ createEAttribute(personalityEClass, PERSONALITY__PATH);
+ createEAttribute(personalityEClass, PERSONALITY__CONTENTS);
+
+ referenceEClass = createEClass(REFERENCE);
+ createEAttribute(referenceEClass, REFERENCE__ID);
+ createEReference(referenceEClass, REFERENCE__LINKS);
+
+ volumeEClass = createEClass(VOLUME);
+ createEAttribute(volumeEClass, VOLUME__STATUS);
+ createEAttribute(volumeEClass, VOLUME__DISPLAY_NAME);
+ createEReference(volumeEClass, VOLUME__ATTACHMENTS);
+ createEAttribute(volumeEClass, VOLUME__AVAILABILITY_ZONE);
+ createEAttribute(volumeEClass, VOLUME__CREATED_AT);
+ createEAttribute(volumeEClass, VOLUME__VOLUME_TYPE);
+ createEReference(volumeEClass, VOLUME__METADATA);
+ createEAttribute(volumeEClass, VOLUME__ID);
+ createEAttribute(volumeEClass, VOLUME__SIZE);
+ createEAttribute(volumeEClass, VOLUME__SNAPSHOT_ID);
+ createEAttribute(volumeEClass, VOLUME__DISPLAY_DESCRIPTION);
+
+ volumeAttachmentEClass = createEClass(VOLUME_ATTACHMENT);
+ createEAttribute(volumeAttachmentEClass, VOLUME_ATTACHMENT__DEVICE);
+ createEAttribute(volumeAttachmentEClass, VOLUME_ATTACHMENT__SERVER_ID);
+ createEAttribute(volumeAttachmentEClass, VOLUME_ATTACHMENT__ID);
+ createEAttribute(volumeAttachmentEClass, VOLUME_ATTACHMENT__VOLUME_ID);
+
+ floatingIpEClass = createEClass(FLOATING_IP);
+ createEAttribute(floatingIpEClass, FLOATING_IP__INSTANCE_ID);
+ createEAttribute(floatingIpEClass, FLOATING_IP__IP);
+ createEAttribute(floatingIpEClass, FLOATING_IP__FIXED_IP);
+ createEAttribute(floatingIpEClass, FLOATING_IP__ID);
+ createEAttribute(floatingIpEClass, FLOATING_IP__POOL);
+
+ securityGroupEClass = createEClass(SECURITY_GROUP);
+ createEReference(securityGroupEClass, SECURITY_GROUP__RULES);
+ createEAttribute(securityGroupEClass, SECURITY_GROUP__TENANT_ID);
+ createEAttribute(securityGroupEClass, SECURITY_GROUP__ID);
+ createEAttribute(securityGroupEClass, SECURITY_GROUP__DESCRIPTION);
+
+ securityRuleEClass = createEClass(SECURITY_RULE);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__FROM_PORT);
+ createEReference(securityRuleEClass, SECURITY_RULE__GROUP);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__IP_PROTOCOL);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__TO_PORT);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__PARENT_GROUP_ID);
+ createEReference(securityRuleEClass, SECURITY_RULE__IP_RANGE);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__ID);
+
+ securityRangeEClass = createEClass(SECURITY_RANGE);
+ createEAttribute(securityRangeEClass, SECURITY_RANGE__CIDR);
+
+ keyPairEClass = createEClass(KEY_PAIR);
+ createEAttribute(keyPairEClass, KEY_PAIR__PUBLIC_KEY);
+ createEAttribute(keyPairEClass, KEY_PAIR__NAME);
+ createEAttribute(keyPairEClass, KEY_PAIR__FINGERPRINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+ org.openecomp.ncomp.core.CorePackage theCorePackage_1 = (org.openecomp.ncomp.core.CorePackage)EPackage.Registry.INSTANCE.getEPackage(org.openecomp.ncomp.core.CorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ openstackRequestNewServerEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ openstackRequestKeyPairEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ openstackRequestFlavorEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ openstackRequestSecurityGroupEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ openstackRequestServerActionEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ openstackRequestPollEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ volumeEClass.getESuperTypes().add(theCorePackage_1.getNamedEntity());
+ securityGroupEClass.getESuperTypes().add(theCorePackage_1.getNamedEntity());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(computeServiceEClass, ComputeService.class, "ComputeService", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ EOperation op = initEOperation(getComputeService__CreateServer__OpenstackRequestNewServer(), null, "createServer", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getOpenstackRequestNewServer(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__DeleteServer__String_String(), null, "deleteServer", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__CreateKeyPair__OpenstackRequestKeyPair(), null, "createKeyPair", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getOpenstackRequestKeyPair(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__Delete__OpenstackRequestDelete(), null, "delete", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theCorePackage.getOpenstackRequestDelete(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__CreateFlavor__OpenstackRequestFlavor(), null, "createFlavor", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getOpenstackRequestFlavor(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__CreateSecurityGroup__OpenstackRequestSecurityGroup(), null, "createSecurityGroup", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getOpenstackRequestSecurityGroup(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__ServerAction__OpenstackRequestServerAction(), null, "serverAction", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getOpenstackRequestServerAction(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__DeployVmType__String_String(), null, "deployVmType", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "vmTypeName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__UndeployVmType__String_String(), null, "undeployVmType", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "vmTypeName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__DeployUser__User_String(), null, "deployUser", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theCorePackage_1.getUser(), "user", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getComputeService__UndeployUser__User_String(), null, "undeployUser", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theCorePackage_1.getUser(), "user", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ initEClass(openstackRequestNewServerEClass, OpenstackRequestNewServer.class, "OpenstackRequestNewServer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenstackRequestNewServer_Name(), theEcorePackage.getEString(), "name", null, 0, 1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestNewServer_Hypervisor(), theEcorePackage.getEString(), "hypervisor", null, 0, 1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestNewServer_User(), theEcorePackage.getEString(), "user", null, 0, 1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestNewServer_Networks(), theEcorePackage.getEString(), "networks", null, 0, -1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestNewServer_Ports(), theEcorePackage.getEString(), "ports", null, 0, -1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestNewServer_User_data(), theEcorePackage.getEString(), "user_data", null, 0, 1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestNewServer_FloatingIp(), theEcorePackage.getEString(), "floatingIp", null, 0, 1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOpenstackRequestNewServer_VmType(), theCorePackage.getVirtualMachineType(), null, "vmType", null, 0, 1, OpenstackRequestNewServer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestKeyPairEClass, OpenstackRequestKeyPair.class, "OpenstackRequestKeyPair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOpenstackRequestKeyPair_User(), theCorePackage_1.getUser(), null, "user", null, 0, 1, OpenstackRequestKeyPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestFlavorEClass, OpenstackRequestFlavor.class, "OpenstackRequestFlavor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOpenstackRequestFlavor_VmType(), theCorePackage.getVirtualMachineType(), null, "vmType", null, 0, 1, OpenstackRequestFlavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestSecurityGroupEClass, OpenstackRequestSecurityGroup.class, "OpenstackRequestSecurityGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOpenstackRequestSecurityGroup_VmType(), theCorePackage.getVirtualMachineType(), null, "vmType", null, 0, 1, OpenstackRequestSecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestServerActionEClass, OpenstackRequestServerAction.class, "OpenstackRequestServerAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenstackRequestServerAction_Name(), theEcorePackage.getEString(), "name", null, 0, 1, OpenstackRequestServerAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestServerAction_Action(), theEcorePackage.getEString(), "action", null, 0, 1, OpenstackRequestServerAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestPollEClass, OpenstackRequestPoll.class, "OpenstackRequestPoll", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(serverEClass, Server.class, "Server", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getServer_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_User_id(), theEcorePackage.getEString(), "user_id", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Updated(), theEcorePackage.getEString(), "updated", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Created(), theEcorePackage.getEString(), "created", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_HostId(), theEcorePackage.getEString(), "hostId", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_AccessIPv4(), theEcorePackage.getEString(), "accessIPv4", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_AccessIPv6(), theEcorePackage.getEString(), "accessIPv6", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Config_drive(), theEcorePackage.getEString(), "config_drive", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Key_name(), theEcorePackage.getEString(), "key_name", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_Progress(), theEcorePackage.getEInt(), "progress", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_DCF_diskConfig(), theEcorePackage.getEString(), "OS_DCF_diskConfig", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_EXT_STS_power_state(), theEcorePackage.getEInt(), "OS_EXT_STS_power_state", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_EXT_STS_vm_state(), theEcorePackage.getEString(), "OS_EXT_STS_vm_state", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_EXT_STS_task_state(), theEcorePackage.getEString(), "OS_EXT_STS_task_state", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_EXT_SRV_ATTR_host(), theEcorePackage.getEString(), "OS_EXT_SRV_ATTR_host", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_EXT_SRV_ATTR_instance_name(), theEcorePackage.getEString(), "OS_EXT_SRV_ATTR_instance_name", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_EXT_SRV_ATTR_hypervisor_hostname(), theEcorePackage.getEString(), "OS_EXT_SRV_ATTR_hypervisor_hostname", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_SRV_USG_launched_at(), theEcorePackage.getEString(), "OS_SRV_USG_launched_at", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getServer_OS_SRV_USG_terminated_at(), theEcorePackage.getEString(), "OS_SRV_USG_terminated_at", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Image(), this.getReference(), null, "image", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Flavor(), this.getReference(), null, "flavor", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Addresses(), this.getAddresses(), null, "addresses", null, 0, -1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Security_groups(), this.getSecurityGroup(), null, "security_groups", null, 0, -1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Metadata(), this.getMetadata(), null, "metadata", null, 0, -1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Links(), this.getLink(), null, "links", null, 0, -1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getServer_Fault(), this.getFault(), null, "fault", null, 0, 1, Server.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(imageEClass, Image.class, "Image", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImage_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Updated(), theEcorePackage.getEString(), "updated", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Created(), theEcorePackage.getEString(), "created", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_User_id(), theEcorePackage.getEString(), "user_id", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Progress(), theEcorePackage.getELongObject(), "progress", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_MinDisk(), theEcorePackage.getELongObject(), "minDisk", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_MinRam(), theEcorePackage.getELongObject(), "minRam", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_OS_EXT_IMG_SIZE_size(), theEcorePackage.getELongObject(), "OS_EXT_IMG_SIZE_size", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getImage_Server(), this.getReference(), null, "server", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getImage_Links(), this.getLink(), null, "links", null, 0, -1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getImage_Metadata(), this.getMetadata(), null, "metadata", null, 0, -1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(flavorEClass, Flavor.class, "Flavor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFlavor_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Ram(), theEcorePackage.getEInt(), "ram", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Disk(), theEcorePackage.getEInt(), "disk", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Vcpus(), theEcorePackage.getEInt(), "vcpus", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Swap(), theEcorePackage.getEString(), "swap", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Rxtx_factor(), theEcorePackage.getEDouble(), "rxtx_factor", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_OS_FLV_EXT_DATA_ephemeral(), theEcorePackage.getEInt(), "OS_FLV_EXT_DATA_ephemeral", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_OS_FLV_DISABLED_disabled(), theEcorePackage.getEBoolean(), "OS_FLV_DISABLED_disabled", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFlavor_Os_flavor_access_is_public(), theEcorePackage.getEBoolean(), "os_flavor_access_is_public", null, 0, 1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFlavor_Links(), this.getLink(), null, "links", null, 0, -1, Flavor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(addressesEClass, Addresses.class, "Addresses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAddresses_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Addresses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAddresses_Ips(), this.getAddress(), null, "ips", null, 0, -1, Addresses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(addressEClass, Address.class, "Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAddress_Version(), theEcorePackage.getEInt(), "version", null, 0, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAddress_Addr(), theEcorePackage.getEString(), "addr", null, 0, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAddress_OS_EXT_IPS_MAC_mac_addr(), theEcorePackage.getEString(), "OS_EXT_IPS_MAC_mac_addr", null, 0, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAddress_OS_EXT_IPS_type(), theEcorePackage.getEString(), "OS_EXT_IPS_type", null, 0, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(linkEClass, Link.class, "Link", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLink_Rel(), theEcorePackage.getEString(), "rel", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLink_Href(), theEcorePackage.getEString(), "href", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLink_Type(), theEcorePackage.getEString(), "type", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metadataEClass, Metadata.class, "Metadata", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMetadata_Key(), theEcorePackage.getEString(), "key", null, 0, 1, Metadata.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMetadata_Value(), theEcorePackage.getEString(), "value", null, 0, 1, Metadata.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(faultEClass, Fault.class, "Fault", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFault_Message(), theEcorePackage.getEString(), "message", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFault_Created(), theEcorePackage.getEString(), "created", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFault_Code(), theEcorePackage.getEInt(), "code", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(personalityEClass, Personality.class, "Personality", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPersonality_Path(), theEcorePackage.getEString(), "path", null, 0, 1, Personality.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPersonality_Contents(), theEcorePackage.getEString(), "contents", null, 0, 1, Personality.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getReference_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getReference_Links(), this.getLink(), null, "links", null, 0, -1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(volumeEClass, Volume.class, "Volume", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVolume_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Display_name(), theEcorePackage.getEString(), "display_name", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVolume_Attachments(), this.getVolumeAttachment(), null, "attachments", null, 0, -1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Availability_zone(), theEcorePackage.getEString(), "availability_zone", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Created_at(), theEcorePackage.getEString(), "created_at", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Volume_type(), theEcorePackage.getEString(), "volume_type", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVolume_Metadata(), this.getMetadata(), null, "metadata", null, 0, -1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Size(), theEcorePackage.getEInt(), "size", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Snapshot_id(), theEcorePackage.getEString(), "snapshot_id", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolume_Display_description(), theEcorePackage.getEString(), "display_description", null, 0, 1, Volume.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(volumeAttachmentEClass, VolumeAttachment.class, "VolumeAttachment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVolumeAttachment_Device(), theEcorePackage.getEString(), "device", null, 0, 1, VolumeAttachment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolumeAttachment_Server_id(), theEcorePackage.getEString(), "server_id", null, 0, 1, VolumeAttachment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolumeAttachment_Id(), theEcorePackage.getEString(), "id", null, 0, 1, VolumeAttachment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVolumeAttachment_Volume_id(), theEcorePackage.getEString(), "volume_id", null, 0, 1, VolumeAttachment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(floatingIpEClass, FloatingIp.class, "FloatingIp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFloatingIp_Instance_id(), theEcorePackage.getEString(), "instance_id", null, 0, 1, FloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFloatingIp_Ip(), theEcorePackage.getEString(), "ip", null, 0, 1, FloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFloatingIp_Fixed_ip(), theEcorePackage.getEString(), "fixed_ip", null, 0, 1, FloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFloatingIp_Id(), theEcorePackage.getEString(), "id", null, 0, 1, FloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFloatingIp_Pool(), theEcorePackage.getEString(), "pool", null, 0, 1, FloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(securityGroupEClass, SecurityGroup.class, "SecurityGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSecurityGroup_Rules(), this.getSecurityRule(), null, "rules", null, 0, -1, SecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityGroup_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, SecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityGroup_Id(), theEcorePackage.getEString(), "id", null, 0, 1, SecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityGroup_Description(), theEcorePackage.getEString(), "description", null, 0, 1, SecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(securityRuleEClass, SecurityRule.class, "SecurityRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSecurityRule_From_port(), theEcorePackage.getEIntegerObject(), "from_port", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSecurityRule_Group(), this.getSecurityGroup(), null, "group", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_Ip_protocol(), theEcorePackage.getEString(), "ip_protocol", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_To_port(), theEcorePackage.getEIntegerObject(), "to_port", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_Parent_group_id(), theEcorePackage.getEString(), "parent_group_id", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSecurityRule_Ip_range(), this.getSecurityRange(), null, "ip_range", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_Id(), theEcorePackage.getEString(), "id", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(securityRangeEClass, SecurityRange.class, "SecurityRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSecurityRange_Cidr(), theEcorePackage.getEString(), "cidr", null, 0, 1, SecurityRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(keyPairEClass, KeyPair.class, "KeyPair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getKeyPair_Public_key(), theEcorePackage.getEString(), "public_key", null, 0, 1, KeyPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getKeyPair_Name(), theEcorePackage.getEString(), "name", null, 0, 1, KeyPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getKeyPair_Fingerprint(), theEcorePackage.getEString(), "fingerprint", null, 0, 1, KeyPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ComputePackageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeServiceImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeServiceImpl.java
new file mode 100644
index 0000000..3e3a4b4
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ComputeServiceImpl.java
@@ -0,0 +1,235 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.ComputeService;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete;
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ComputeServiceImpl extends MinimalEObjectImpl.Container implements ComputeService {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComputeServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.COMPUTE_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createServer(OpenstackRequestNewServer request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteServer(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createKeyPair(OpenstackRequestKeyPair request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void delete(OpenstackRequestDelete request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createFlavor(OpenstackRequestFlavor request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createSecurityGroup(OpenstackRequestSecurityGroup request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void serverAction(OpenstackRequestServerAction request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deployVmType(String vmTypeName, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void undeployVmType(String vmTypeName, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deployUser(User user, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void undeployUser(User user, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case ComputePackage.COMPUTE_SERVICE___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER:
+ createServer((OpenstackRequestNewServer)arguments.get(0));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___DELETE_SERVER__STRING_STRING:
+ deleteServer((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR:
+ createKeyPair((OpenstackRequestKeyPair)arguments.get(0));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___DELETE__OPENSTACKREQUESTDELETE:
+ delete((OpenstackRequestDelete)arguments.get(0));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR:
+ createFlavor((OpenstackRequestFlavor)arguments.get(0));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP:
+ createSecurityGroup((OpenstackRequestSecurityGroup)arguments.get(0));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION:
+ serverAction((OpenstackRequestServerAction)arguments.get(0));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___DEPLOY_VM_TYPE__STRING_STRING:
+ deployVmType((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___UNDEPLOY_VM_TYPE__STRING_STRING:
+ undeployVmType((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___DEPLOY_USER__USER_STRING:
+ deployUser((User)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case ComputePackage.COMPUTE_SERVICE___UNDEPLOY_USER__USER_STRING:
+ undeployUser((User)arguments.get(0), (String)arguments.get(1));
+ return null;
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ComputeServiceImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FaultImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FaultImpl.java
new file mode 100644
index 0000000..1946236
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FaultImpl.java
@@ -0,0 +1,292 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Fault;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fault</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FaultImpl#getMessage <em>Message</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FaultImpl#getCreated <em>Created</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FaultImpl#getCode <em>Code</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FaultImpl extends MinimalEObjectImpl.Container implements Fault {
+ /**
+ * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected static final String MESSAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected String message = MESSAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCreated() <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated()
+ * @generated
+ * @ordered
+ */
+ protected static final String CREATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCreated() <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated()
+ * @generated
+ * @ordered
+ */
+ protected String created = CREATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCode() <em>Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCode()
+ * @generated
+ * @ordered
+ */
+ protected static final int CODE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getCode() <em>Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCode()
+ * @generated
+ * @ordered
+ */
+ protected int code = CODE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FaultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.FAULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessage(String newMessage) {
+ String oldMessage = message;
+ message = newMessage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FAULT__MESSAGE, oldMessage, message));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreated() {
+ return created;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCreated(String newCreated) {
+ String oldCreated = created;
+ created = newCreated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FAULT__CREATED, oldCreated, created));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCode() {
+ return code;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCode(int newCode) {
+ int oldCode = code;
+ code = newCode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FAULT__CODE, oldCode, code));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.FAULT__MESSAGE:
+ return getMessage();
+ case ComputePackage.FAULT__CREATED:
+ return getCreated();
+ case ComputePackage.FAULT__CODE:
+ return getCode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.FAULT__MESSAGE:
+ setMessage((String)newValue);
+ return;
+ case ComputePackage.FAULT__CREATED:
+ setCreated((String)newValue);
+ return;
+ case ComputePackage.FAULT__CODE:
+ setCode((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.FAULT__MESSAGE:
+ setMessage(MESSAGE_EDEFAULT);
+ return;
+ case ComputePackage.FAULT__CREATED:
+ setCreated(CREATED_EDEFAULT);
+ return;
+ case ComputePackage.FAULT__CODE:
+ setCode(CODE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.FAULT__MESSAGE:
+ return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
+ case ComputePackage.FAULT__CREATED:
+ return CREATED_EDEFAULT == null ? created != null : !CREATED_EDEFAULT.equals(created);
+ case ComputePackage.FAULT__CODE:
+ return code != CODE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (message: ");
+ result.append(message);
+ result.append(", created: ");
+ result.append(created);
+ result.append(", code: ");
+ result.append(code);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FaultImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FlavorImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FlavorImpl.java
new file mode 100644
index 0000000..0df02c4
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FlavorImpl.java
@@ -0,0 +1,729 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Flavor;
+import org.openecomp.ncomp.openstack.compute.Link;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flavor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getRam <em>Ram</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getDisk <em>Disk</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getVcpus <em>Vcpus</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getSwap <em>Swap</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getRxtx_factor <em>Rxtx factor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getOS_FLV_EXT_DATA_ephemeral <em>OS FLV EXT DATA ephemeral</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#isOS_FLV_DISABLED_disabled <em>OS FLV DISABLED disabled</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#isOs_flavor_access_is_public <em>Os flavor access is public</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FlavorImpl#getLinks <em>Links</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FlavorImpl extends MinimalEObjectImpl.Container implements Flavor {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRam() <em>Ram</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRam()
+ * @generated
+ * @ordered
+ */
+ protected static final int RAM_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getRam() <em>Ram</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRam()
+ * @generated
+ * @ordered
+ */
+ protected int ram = RAM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDisk() <em>Disk</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisk()
+ * @generated
+ * @ordered
+ */
+ protected static final int DISK_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getDisk() <em>Disk</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisk()
+ * @generated
+ * @ordered
+ */
+ protected int disk = DISK_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVcpus() <em>Vcpus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVcpus()
+ * @generated
+ * @ordered
+ */
+ protected static final int VCPUS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVcpus() <em>Vcpus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVcpus()
+ * @generated
+ * @ordered
+ */
+ protected int vcpus = VCPUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSwap() <em>Swap</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSwap()
+ * @generated
+ * @ordered
+ */
+ protected static final String SWAP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSwap() <em>Swap</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSwap()
+ * @generated
+ * @ordered
+ */
+ protected String swap = SWAP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRxtx_factor() <em>Rxtx factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRxtx_factor()
+ * @generated
+ * @ordered
+ */
+ protected static final double RXTX_FACTOR_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getRxtx_factor() <em>Rxtx factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRxtx_factor()
+ * @generated
+ * @ordered
+ */
+ protected double rxtx_factor = RXTX_FACTOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_FLV_EXT_DATA_ephemeral() <em>OS FLV EXT DATA ephemeral</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_FLV_EXT_DATA_ephemeral()
+ * @generated
+ * @ordered
+ */
+ protected static final int OS_FLV_EXT_DATA_EPHEMERAL_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getOS_FLV_EXT_DATA_ephemeral() <em>OS FLV EXT DATA ephemeral</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_FLV_EXT_DATA_ephemeral()
+ * @generated
+ * @ordered
+ */
+ protected int oS_FLV_EXT_DATA_ephemeral = OS_FLV_EXT_DATA_EPHEMERAL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOS_FLV_DISABLED_disabled() <em>OS FLV DISABLED disabled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOS_FLV_DISABLED_disabled()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OS_FLV_DISABLED_DISABLED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOS_FLV_DISABLED_disabled() <em>OS FLV DISABLED disabled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOS_FLV_DISABLED_disabled()
+ * @generated
+ * @ordered
+ */
+ protected boolean oS_FLV_DISABLED_disabled = OS_FLV_DISABLED_DISABLED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOs_flavor_access_is_public() <em>Os flavor access is public</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOs_flavor_access_is_public()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OS_FLAVOR_ACCESS_IS_PUBLIC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOs_flavor_access_is_public() <em>Os flavor access is public</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOs_flavor_access_is_public()
+ * @generated
+ * @ordered
+ */
+ protected boolean os_flavor_access_is_public = OS_FLAVOR_ACCESS_IS_PUBLIC_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLinks() <em>Links</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Link> links;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlavorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.FLAVOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getRam() {
+ return ram;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRam(int newRam) {
+ int oldRam = ram;
+ ram = newRam;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__RAM, oldRam, ram));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getDisk() {
+ return disk;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisk(int newDisk) {
+ int oldDisk = disk;
+ disk = newDisk;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__DISK, oldDisk, disk));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVcpus() {
+ return vcpus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVcpus(int newVcpus) {
+ int oldVcpus = vcpus;
+ vcpus = newVcpus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__VCPUS, oldVcpus, vcpus));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSwap() {
+ return swap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSwap(String newSwap) {
+ String oldSwap = swap;
+ swap = newSwap;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__SWAP, oldSwap, swap));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getRxtx_factor() {
+ return rxtx_factor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRxtx_factor(double newRxtx_factor) {
+ double oldRxtx_factor = rxtx_factor;
+ rxtx_factor = newRxtx_factor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__RXTX_FACTOR, oldRxtx_factor, rxtx_factor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getOS_FLV_EXT_DATA_ephemeral() {
+ return oS_FLV_EXT_DATA_ephemeral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_FLV_EXT_DATA_ephemeral(int newOS_FLV_EXT_DATA_ephemeral) {
+ int oldOS_FLV_EXT_DATA_ephemeral = oS_FLV_EXT_DATA_ephemeral;
+ oS_FLV_EXT_DATA_ephemeral = newOS_FLV_EXT_DATA_ephemeral;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL, oldOS_FLV_EXT_DATA_ephemeral, oS_FLV_EXT_DATA_ephemeral));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOS_FLV_DISABLED_disabled() {
+ return oS_FLV_DISABLED_disabled;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_FLV_DISABLED_disabled(boolean newOS_FLV_DISABLED_disabled) {
+ boolean oldOS_FLV_DISABLED_disabled = oS_FLV_DISABLED_disabled;
+ oS_FLV_DISABLED_disabled = newOS_FLV_DISABLED_disabled;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__OS_FLV_DISABLED_DISABLED, oldOS_FLV_DISABLED_disabled, oS_FLV_DISABLED_disabled));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOs_flavor_access_is_public() {
+ return os_flavor_access_is_public;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOs_flavor_access_is_public(boolean newOs_flavor_access_is_public) {
+ boolean oldOs_flavor_access_is_public = os_flavor_access_is_public;
+ os_flavor_access_is_public = newOs_flavor_access_is_public;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC, oldOs_flavor_access_is_public, os_flavor_access_is_public));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Link> getLinks() {
+ if (links == null) {
+ links = new EObjectContainmentEList<Link>(Link.class, this, ComputePackage.FLAVOR__LINKS);
+ }
+ return links;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.FLAVOR__LINKS:
+ return ((InternalEList<?>)getLinks()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.FLAVOR__ID:
+ return getId();
+ case ComputePackage.FLAVOR__NAME:
+ return getName();
+ case ComputePackage.FLAVOR__RAM:
+ return getRam();
+ case ComputePackage.FLAVOR__DISK:
+ return getDisk();
+ case ComputePackage.FLAVOR__VCPUS:
+ return getVcpus();
+ case ComputePackage.FLAVOR__SWAP:
+ return getSwap();
+ case ComputePackage.FLAVOR__RXTX_FACTOR:
+ return getRxtx_factor();
+ case ComputePackage.FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL:
+ return getOS_FLV_EXT_DATA_ephemeral();
+ case ComputePackage.FLAVOR__OS_FLV_DISABLED_DISABLED:
+ return isOS_FLV_DISABLED_disabled();
+ case ComputePackage.FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC:
+ return isOs_flavor_access_is_public();
+ case ComputePackage.FLAVOR__LINKS:
+ return getLinks();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.FLAVOR__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.FLAVOR__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.FLAVOR__RAM:
+ setRam((Integer)newValue);
+ return;
+ case ComputePackage.FLAVOR__DISK:
+ setDisk((Integer)newValue);
+ return;
+ case ComputePackage.FLAVOR__VCPUS:
+ setVcpus((Integer)newValue);
+ return;
+ case ComputePackage.FLAVOR__SWAP:
+ setSwap((String)newValue);
+ return;
+ case ComputePackage.FLAVOR__RXTX_FACTOR:
+ setRxtx_factor((Double)newValue);
+ return;
+ case ComputePackage.FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL:
+ setOS_FLV_EXT_DATA_ephemeral((Integer)newValue);
+ return;
+ case ComputePackage.FLAVOR__OS_FLV_DISABLED_DISABLED:
+ setOS_FLV_DISABLED_disabled((Boolean)newValue);
+ return;
+ case ComputePackage.FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC:
+ setOs_flavor_access_is_public((Boolean)newValue);
+ return;
+ case ComputePackage.FLAVOR__LINKS:
+ getLinks().clear();
+ getLinks().addAll((Collection<? extends Link>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.FLAVOR__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__RAM:
+ setRam(RAM_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__DISK:
+ setDisk(DISK_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__VCPUS:
+ setVcpus(VCPUS_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__SWAP:
+ setSwap(SWAP_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__RXTX_FACTOR:
+ setRxtx_factor(RXTX_FACTOR_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL:
+ setOS_FLV_EXT_DATA_ephemeral(OS_FLV_EXT_DATA_EPHEMERAL_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__OS_FLV_DISABLED_DISABLED:
+ setOS_FLV_DISABLED_disabled(OS_FLV_DISABLED_DISABLED_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC:
+ setOs_flavor_access_is_public(OS_FLAVOR_ACCESS_IS_PUBLIC_EDEFAULT);
+ return;
+ case ComputePackage.FLAVOR__LINKS:
+ getLinks().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.FLAVOR__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.FLAVOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.FLAVOR__RAM:
+ return ram != RAM_EDEFAULT;
+ case ComputePackage.FLAVOR__DISK:
+ return disk != DISK_EDEFAULT;
+ case ComputePackage.FLAVOR__VCPUS:
+ return vcpus != VCPUS_EDEFAULT;
+ case ComputePackage.FLAVOR__SWAP:
+ return SWAP_EDEFAULT == null ? swap != null : !SWAP_EDEFAULT.equals(swap);
+ case ComputePackage.FLAVOR__RXTX_FACTOR:
+ return rxtx_factor != RXTX_FACTOR_EDEFAULT;
+ case ComputePackage.FLAVOR__OS_FLV_EXT_DATA_EPHEMERAL:
+ return oS_FLV_EXT_DATA_ephemeral != OS_FLV_EXT_DATA_EPHEMERAL_EDEFAULT;
+ case ComputePackage.FLAVOR__OS_FLV_DISABLED_DISABLED:
+ return oS_FLV_DISABLED_disabled != OS_FLV_DISABLED_DISABLED_EDEFAULT;
+ case ComputePackage.FLAVOR__OS_FLAVOR_ACCESS_IS_PUBLIC:
+ return os_flavor_access_is_public != OS_FLAVOR_ACCESS_IS_PUBLIC_EDEFAULT;
+ case ComputePackage.FLAVOR__LINKS:
+ return links != null && !links.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", ram: ");
+ result.append(ram);
+ result.append(", disk: ");
+ result.append(disk);
+ result.append(", vcpus: ");
+ result.append(vcpus);
+ result.append(", swap: ");
+ result.append(swap);
+ result.append(", rxtx_factor: ");
+ result.append(rxtx_factor);
+ result.append(", OS_FLV_EXT_DATA_ephemeral: ");
+ result.append(oS_FLV_EXT_DATA_ephemeral);
+ result.append(", OS_FLV_DISABLED_disabled: ");
+ result.append(oS_FLV_DISABLED_disabled);
+ result.append(", os_flavor_access_is_public: ");
+ result.append(os_flavor_access_is_public);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FlavorImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FloatingIpImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FloatingIpImpl.java
new file mode 100644
index 0000000..89bab49
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/FloatingIpImpl.java
@@ -0,0 +1,400 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.FloatingIp;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Floating Ip</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl#getInstance_id <em>Instance id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl#getIp <em>Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl#getFixed_ip <em>Fixed ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.FloatingIpImpl#getPool <em>Pool</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FloatingIpImpl extends MinimalEObjectImpl.Container implements FloatingIp {
+ /**
+ * The default value of the '{@link #getInstance_id() <em>Instance id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInstance_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String INSTANCE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInstance_id() <em>Instance id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInstance_id()
+ * @generated
+ * @ordered
+ */
+ protected String instance_id = INSTANCE_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIp() <em>Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp()
+ * @generated
+ * @ordered
+ */
+ protected static final String IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIp() <em>Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp()
+ * @generated
+ * @ordered
+ */
+ protected String ip = IP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFixed_ip() <em>Fixed ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFixed_ip()
+ * @generated
+ * @ordered
+ */
+ protected static final String FIXED_IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFixed_ip() <em>Fixed ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFixed_ip()
+ * @generated
+ * @ordered
+ */
+ protected String fixed_ip = FIXED_IP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPool() <em>Pool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPool()
+ * @generated
+ * @ordered
+ */
+ protected static final String POOL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPool() <em>Pool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPool()
+ * @generated
+ * @ordered
+ */
+ protected String pool = POOL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FloatingIpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.FLOATING_IP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInstance_id() {
+ return instance_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInstance_id(String newInstance_id) {
+ String oldInstance_id = instance_id;
+ instance_id = newInstance_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLOATING_IP__INSTANCE_ID, oldInstance_id, instance_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIp() {
+ return ip;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIp(String newIp) {
+ String oldIp = ip;
+ ip = newIp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLOATING_IP__IP, oldIp, ip));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFixed_ip() {
+ return fixed_ip;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFixed_ip(String newFixed_ip) {
+ String oldFixed_ip = fixed_ip;
+ fixed_ip = newFixed_ip;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLOATING_IP__FIXED_IP, oldFixed_ip, fixed_ip));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLOATING_IP__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPool() {
+ return pool;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPool(String newPool) {
+ String oldPool = pool;
+ pool = newPool;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.FLOATING_IP__POOL, oldPool, pool));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.FLOATING_IP__INSTANCE_ID:
+ return getInstance_id();
+ case ComputePackage.FLOATING_IP__IP:
+ return getIp();
+ case ComputePackage.FLOATING_IP__FIXED_IP:
+ return getFixed_ip();
+ case ComputePackage.FLOATING_IP__ID:
+ return getId();
+ case ComputePackage.FLOATING_IP__POOL:
+ return getPool();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.FLOATING_IP__INSTANCE_ID:
+ setInstance_id((String)newValue);
+ return;
+ case ComputePackage.FLOATING_IP__IP:
+ setIp((String)newValue);
+ return;
+ case ComputePackage.FLOATING_IP__FIXED_IP:
+ setFixed_ip((String)newValue);
+ return;
+ case ComputePackage.FLOATING_IP__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.FLOATING_IP__POOL:
+ setPool((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.FLOATING_IP__INSTANCE_ID:
+ setInstance_id(INSTANCE_ID_EDEFAULT);
+ return;
+ case ComputePackage.FLOATING_IP__IP:
+ setIp(IP_EDEFAULT);
+ return;
+ case ComputePackage.FLOATING_IP__FIXED_IP:
+ setFixed_ip(FIXED_IP_EDEFAULT);
+ return;
+ case ComputePackage.FLOATING_IP__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.FLOATING_IP__POOL:
+ setPool(POOL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.FLOATING_IP__INSTANCE_ID:
+ return INSTANCE_ID_EDEFAULT == null ? instance_id != null : !INSTANCE_ID_EDEFAULT.equals(instance_id);
+ case ComputePackage.FLOATING_IP__IP:
+ return IP_EDEFAULT == null ? ip != null : !IP_EDEFAULT.equals(ip);
+ case ComputePackage.FLOATING_IP__FIXED_IP:
+ return FIXED_IP_EDEFAULT == null ? fixed_ip != null : !FIXED_IP_EDEFAULT.equals(fixed_ip);
+ case ComputePackage.FLOATING_IP__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.FLOATING_IP__POOL:
+ return POOL_EDEFAULT == null ? pool != null : !POOL_EDEFAULT.equals(pool);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (instance_id: ");
+ result.append(instance_id);
+ result.append(", ip: ");
+ result.append(ip);
+ result.append(", fixed_ip: ");
+ result.append(fixed_ip);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", pool: ");
+ result.append(pool);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FloatingIpImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ImageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ImageImpl.java
new file mode 100644
index 0000000..b873aa6
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ImageImpl.java
@@ -0,0 +1,887 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Image;
+import org.openecomp.ncomp.openstack.compute.Link;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+import org.openecomp.ncomp.openstack.compute.Reference;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getUpdated <em>Updated</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getCreated <em>Created</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getProgress <em>Progress</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getMinDisk <em>Min Disk</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getMinRam <em>Min Ram</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getOS_EXT_IMG_SIZE_size <em>OS EXT IMG SIZE size</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getServer <em>Server</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getLinks <em>Links</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ImageImpl#getMetadata <em>Metadata</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImageImpl extends MinimalEObjectImpl.Container implements Image {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUpdated() <em>Updated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdated()
+ * @generated
+ * @ordered
+ */
+ protected static final String UPDATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUpdated() <em>Updated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdated()
+ * @generated
+ * @ordered
+ */
+ protected String updated = UPDATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCreated() <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated()
+ * @generated
+ * @ordered
+ */
+ protected static final String CREATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCreated() <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated()
+ * @generated
+ * @ordered
+ */
+ protected String created = CREATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected String user_id = USER_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProgress() <em>Progress</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProgress()
+ * @generated
+ * @ordered
+ */
+ protected static final Long PROGRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProgress() <em>Progress</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProgress()
+ * @generated
+ * @ordered
+ */
+ protected Long progress = PROGRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMinDisk() <em>Min Disk</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinDisk()
+ * @generated
+ * @ordered
+ */
+ protected static final Long MIN_DISK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMinDisk() <em>Min Disk</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinDisk()
+ * @generated
+ * @ordered
+ */
+ protected Long minDisk = MIN_DISK_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMinRam() <em>Min Ram</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinRam()
+ * @generated
+ * @ordered
+ */
+ protected static final Long MIN_RAM_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMinRam() <em>Min Ram</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinRam()
+ * @generated
+ * @ordered
+ */
+ protected Long minRam = MIN_RAM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_IMG_SIZE_size() <em>OS EXT IMG SIZE size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_IMG_SIZE_size()
+ * @generated
+ * @ordered
+ */
+ protected static final Long OS_EXT_IMG_SIZE_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_IMG_SIZE_size() <em>OS EXT IMG SIZE size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_IMG_SIZE_size()
+ * @generated
+ * @ordered
+ */
+ protected Long oS_EXT_IMG_SIZE_size = OS_EXT_IMG_SIZE_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getServer() <em>Server</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getServer()
+ * @generated
+ * @ordered
+ */
+ protected Reference server;
+
+ /**
+ * The cached value of the '{@link #getLinks() <em>Links</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Link> links;
+
+ /**
+ * The cached value of the '{@link #getMetadata() <em>Metadata</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetadata()
+ * @generated
+ * @ordered
+ */
+ protected EList<Metadata> metadata;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.IMAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUpdated() {
+ return updated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpdated(String newUpdated) {
+ String oldUpdated = updated;
+ updated = newUpdated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__UPDATED, oldUpdated, updated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreated() {
+ return created;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCreated(String newCreated) {
+ String oldCreated = created;
+ created = newCreated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__CREATED, oldCreated, created));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser_id(String newUser_id) {
+ String oldUser_id = user_id;
+ user_id = newUser_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__USER_ID, oldUser_id, user_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getProgress() {
+ return progress;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProgress(Long newProgress) {
+ Long oldProgress = progress;
+ progress = newProgress;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__PROGRESS, oldProgress, progress));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getMinDisk() {
+ return minDisk;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinDisk(Long newMinDisk) {
+ Long oldMinDisk = minDisk;
+ minDisk = newMinDisk;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__MIN_DISK, oldMinDisk, minDisk));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getMinRam() {
+ return minRam;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinRam(Long newMinRam) {
+ Long oldMinRam = minRam;
+ minRam = newMinRam;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__MIN_RAM, oldMinRam, minRam));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Long getOS_EXT_IMG_SIZE_size() {
+ return oS_EXT_IMG_SIZE_size;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_IMG_SIZE_size(Long newOS_EXT_IMG_SIZE_size) {
+ Long oldOS_EXT_IMG_SIZE_size = oS_EXT_IMG_SIZE_size;
+ oS_EXT_IMG_SIZE_size = newOS_EXT_IMG_SIZE_size;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__OS_EXT_IMG_SIZE_SIZE, oldOS_EXT_IMG_SIZE_size, oS_EXT_IMG_SIZE_size));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reference getServer() {
+ return server;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetServer(Reference newServer, NotificationChain msgs) {
+ Reference oldServer = server;
+ server = newServer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__SERVER, oldServer, newServer);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setServer(Reference newServer) {
+ if (newServer != server) {
+ NotificationChain msgs = null;
+ if (server != null)
+ msgs = ((InternalEObject)server).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.IMAGE__SERVER, null, msgs);
+ if (newServer != null)
+ msgs = ((InternalEObject)newServer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.IMAGE__SERVER, null, msgs);
+ msgs = basicSetServer(newServer, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.IMAGE__SERVER, newServer, newServer));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Link> getLinks() {
+ if (links == null) {
+ links = new EObjectContainmentEList<Link>(Link.class, this, ComputePackage.IMAGE__LINKS);
+ }
+ return links;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Metadata> getMetadata() {
+ if (metadata == null) {
+ metadata = new EObjectContainmentEList<Metadata>(Metadata.class, this, ComputePackage.IMAGE__METADATA);
+ }
+ return metadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.IMAGE__SERVER:
+ return basicSetServer(null, msgs);
+ case ComputePackage.IMAGE__LINKS:
+ return ((InternalEList<?>)getLinks()).basicRemove(otherEnd, msgs);
+ case ComputePackage.IMAGE__METADATA:
+ return ((InternalEList<?>)getMetadata()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.IMAGE__ID:
+ return getId();
+ case ComputePackage.IMAGE__NAME:
+ return getName();
+ case ComputePackage.IMAGE__UPDATED:
+ return getUpdated();
+ case ComputePackage.IMAGE__CREATED:
+ return getCreated();
+ case ComputePackage.IMAGE__TENANT_ID:
+ return getTenant_id();
+ case ComputePackage.IMAGE__USER_ID:
+ return getUser_id();
+ case ComputePackage.IMAGE__STATUS:
+ return getStatus();
+ case ComputePackage.IMAGE__PROGRESS:
+ return getProgress();
+ case ComputePackage.IMAGE__MIN_DISK:
+ return getMinDisk();
+ case ComputePackage.IMAGE__MIN_RAM:
+ return getMinRam();
+ case ComputePackage.IMAGE__OS_EXT_IMG_SIZE_SIZE:
+ return getOS_EXT_IMG_SIZE_size();
+ case ComputePackage.IMAGE__SERVER:
+ return getServer();
+ case ComputePackage.IMAGE__LINKS:
+ return getLinks();
+ case ComputePackage.IMAGE__METADATA:
+ return getMetadata();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.IMAGE__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.IMAGE__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.IMAGE__UPDATED:
+ setUpdated((String)newValue);
+ return;
+ case ComputePackage.IMAGE__CREATED:
+ setCreated((String)newValue);
+ return;
+ case ComputePackage.IMAGE__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ case ComputePackage.IMAGE__USER_ID:
+ setUser_id((String)newValue);
+ return;
+ case ComputePackage.IMAGE__STATUS:
+ setStatus((String)newValue);
+ return;
+ case ComputePackage.IMAGE__PROGRESS:
+ setProgress((Long)newValue);
+ return;
+ case ComputePackage.IMAGE__MIN_DISK:
+ setMinDisk((Long)newValue);
+ return;
+ case ComputePackage.IMAGE__MIN_RAM:
+ setMinRam((Long)newValue);
+ return;
+ case ComputePackage.IMAGE__OS_EXT_IMG_SIZE_SIZE:
+ setOS_EXT_IMG_SIZE_size((Long)newValue);
+ return;
+ case ComputePackage.IMAGE__SERVER:
+ setServer((Reference)newValue);
+ return;
+ case ComputePackage.IMAGE__LINKS:
+ getLinks().clear();
+ getLinks().addAll((Collection<? extends Link>)newValue);
+ return;
+ case ComputePackage.IMAGE__METADATA:
+ getMetadata().clear();
+ getMetadata().addAll((Collection<? extends Metadata>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.IMAGE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__UPDATED:
+ setUpdated(UPDATED_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__CREATED:
+ setCreated(CREATED_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__USER_ID:
+ setUser_id(USER_ID_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__PROGRESS:
+ setProgress(PROGRESS_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__MIN_DISK:
+ setMinDisk(MIN_DISK_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__MIN_RAM:
+ setMinRam(MIN_RAM_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__OS_EXT_IMG_SIZE_SIZE:
+ setOS_EXT_IMG_SIZE_size(OS_EXT_IMG_SIZE_SIZE_EDEFAULT);
+ return;
+ case ComputePackage.IMAGE__SERVER:
+ setServer((Reference)null);
+ return;
+ case ComputePackage.IMAGE__LINKS:
+ getLinks().clear();
+ return;
+ case ComputePackage.IMAGE__METADATA:
+ getMetadata().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.IMAGE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.IMAGE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.IMAGE__UPDATED:
+ return UPDATED_EDEFAULT == null ? updated != null : !UPDATED_EDEFAULT.equals(updated);
+ case ComputePackage.IMAGE__CREATED:
+ return CREATED_EDEFAULT == null ? created != null : !CREATED_EDEFAULT.equals(created);
+ case ComputePackage.IMAGE__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ case ComputePackage.IMAGE__USER_ID:
+ return USER_ID_EDEFAULT == null ? user_id != null : !USER_ID_EDEFAULT.equals(user_id);
+ case ComputePackage.IMAGE__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case ComputePackage.IMAGE__PROGRESS:
+ return PROGRESS_EDEFAULT == null ? progress != null : !PROGRESS_EDEFAULT.equals(progress);
+ case ComputePackage.IMAGE__MIN_DISK:
+ return MIN_DISK_EDEFAULT == null ? minDisk != null : !MIN_DISK_EDEFAULT.equals(minDisk);
+ case ComputePackage.IMAGE__MIN_RAM:
+ return MIN_RAM_EDEFAULT == null ? minRam != null : !MIN_RAM_EDEFAULT.equals(minRam);
+ case ComputePackage.IMAGE__OS_EXT_IMG_SIZE_SIZE:
+ return OS_EXT_IMG_SIZE_SIZE_EDEFAULT == null ? oS_EXT_IMG_SIZE_size != null : !OS_EXT_IMG_SIZE_SIZE_EDEFAULT.equals(oS_EXT_IMG_SIZE_size);
+ case ComputePackage.IMAGE__SERVER:
+ return server != null;
+ case ComputePackage.IMAGE__LINKS:
+ return links != null && !links.isEmpty();
+ case ComputePackage.IMAGE__METADATA:
+ return metadata != null && !metadata.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", updated: ");
+ result.append(updated);
+ result.append(", created: ");
+ result.append(created);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(", user_id: ");
+ result.append(user_id);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", progress: ");
+ result.append(progress);
+ result.append(", minDisk: ");
+ result.append(minDisk);
+ result.append(", minRam: ");
+ result.append(minRam);
+ result.append(", OS_EXT_IMG_SIZE_size: ");
+ result.append(oS_EXT_IMG_SIZE_size);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ImageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/KeyPairImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/KeyPairImpl.java
new file mode 100644
index 0000000..dcb166c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/KeyPairImpl.java
@@ -0,0 +1,292 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.KeyPair;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Key Pair</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl#getPublic_key <em>Public key</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.KeyPairImpl#getFingerprint <em>Fingerprint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class KeyPairImpl extends MinimalEObjectImpl.Container implements KeyPair {
+ /**
+ * The default value of the '{@link #getPublic_key() <em>Public key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublic_key()
+ * @generated
+ * @ordered
+ */
+ protected static final String PUBLIC_KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPublic_key() <em>Public key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublic_key()
+ * @generated
+ * @ordered
+ */
+ protected String public_key = PUBLIC_KEY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFingerprint() <em>Fingerprint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFingerprint()
+ * @generated
+ * @ordered
+ */
+ protected static final String FINGERPRINT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFingerprint() <em>Fingerprint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFingerprint()
+ * @generated
+ * @ordered
+ */
+ protected String fingerprint = FINGERPRINT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected KeyPairImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.KEY_PAIR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPublic_key() {
+ return public_key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPublic_key(String newPublic_key) {
+ String oldPublic_key = public_key;
+ public_key = newPublic_key;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.KEY_PAIR__PUBLIC_KEY, oldPublic_key, public_key));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.KEY_PAIR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFingerprint(String newFingerprint) {
+ String oldFingerprint = fingerprint;
+ fingerprint = newFingerprint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.KEY_PAIR__FINGERPRINT, oldFingerprint, fingerprint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.KEY_PAIR__PUBLIC_KEY:
+ return getPublic_key();
+ case ComputePackage.KEY_PAIR__NAME:
+ return getName();
+ case ComputePackage.KEY_PAIR__FINGERPRINT:
+ return getFingerprint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.KEY_PAIR__PUBLIC_KEY:
+ setPublic_key((String)newValue);
+ return;
+ case ComputePackage.KEY_PAIR__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.KEY_PAIR__FINGERPRINT:
+ setFingerprint((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.KEY_PAIR__PUBLIC_KEY:
+ setPublic_key(PUBLIC_KEY_EDEFAULT);
+ return;
+ case ComputePackage.KEY_PAIR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.KEY_PAIR__FINGERPRINT:
+ setFingerprint(FINGERPRINT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.KEY_PAIR__PUBLIC_KEY:
+ return PUBLIC_KEY_EDEFAULT == null ? public_key != null : !PUBLIC_KEY_EDEFAULT.equals(public_key);
+ case ComputePackage.KEY_PAIR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.KEY_PAIR__FINGERPRINT:
+ return FINGERPRINT_EDEFAULT == null ? fingerprint != null : !FINGERPRINT_EDEFAULT.equals(fingerprint);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (public_key: ");
+ result.append(public_key);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", fingerprint: ");
+ result.append(fingerprint);
+ result.append(')');
+ return result.toString();
+ }
+
+} //KeyPairImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/LinkImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/LinkImpl.java
new file mode 100644
index 0000000..9b7c106
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/LinkImpl.java
@@ -0,0 +1,292 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Link;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.LinkImpl#getRel <em>Rel</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.LinkImpl#getHref <em>Href</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.LinkImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinkImpl extends MinimalEObjectImpl.Container implements Link {
+ /**
+ * The default value of the '{@link #getRel() <em>Rel</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRel()
+ * @generated
+ * @ordered
+ */
+ protected static final String REL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRel() <em>Rel</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRel()
+ * @generated
+ * @ordered
+ */
+ protected String rel = REL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHref() <em>Href</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHref()
+ * @generated
+ * @ordered
+ */
+ protected static final String HREF_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHref() <em>Href</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHref()
+ * @generated
+ * @ordered
+ */
+ protected String href = HREF_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.LINK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRel() {
+ return rel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRel(String newRel) {
+ String oldRel = rel;
+ rel = newRel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.LINK__REL, oldRel, rel));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHref() {
+ return href;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHref(String newHref) {
+ String oldHref = href;
+ href = newHref;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.LINK__HREF, oldHref, href));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.LINK__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.LINK__REL:
+ return getRel();
+ case ComputePackage.LINK__HREF:
+ return getHref();
+ case ComputePackage.LINK__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.LINK__REL:
+ setRel((String)newValue);
+ return;
+ case ComputePackage.LINK__HREF:
+ setHref((String)newValue);
+ return;
+ case ComputePackage.LINK__TYPE:
+ setType((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.LINK__REL:
+ setRel(REL_EDEFAULT);
+ return;
+ case ComputePackage.LINK__HREF:
+ setHref(HREF_EDEFAULT);
+ return;
+ case ComputePackage.LINK__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.LINK__REL:
+ return REL_EDEFAULT == null ? rel != null : !REL_EDEFAULT.equals(rel);
+ case ComputePackage.LINK__HREF:
+ return HREF_EDEFAULT == null ? href != null : !HREF_EDEFAULT.equals(href);
+ case ComputePackage.LINK__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (rel: ");
+ result.append(rel);
+ result.append(", href: ");
+ result.append(href);
+ result.append(", type: ");
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LinkImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/MetadataImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/MetadataImpl.java
new file mode 100644
index 0000000..b49d692
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/MetadataImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Metadata</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.MetadataImpl#getKey <em>Key</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.MetadataImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MetadataImpl extends MinimalEObjectImpl.Container implements Metadata {
+ /**
+ * The default value of the '{@link #getKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKey()
+ * @generated
+ * @ordered
+ */
+ protected String key = KEY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MetadataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.METADATA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKey() {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey(String newKey) {
+ String oldKey = key;
+ key = newKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.METADATA__KEY, oldKey, key));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.METADATA__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.METADATA__KEY:
+ return getKey();
+ case ComputePackage.METADATA__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.METADATA__KEY:
+ setKey((String)newValue);
+ return;
+ case ComputePackage.METADATA__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.METADATA__KEY:
+ setKey(KEY_EDEFAULT);
+ return;
+ case ComputePackage.METADATA__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.METADATA__KEY:
+ return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+ case ComputePackage.METADATA__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (key: ");
+ result.append(key);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MetadataImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestFlavorImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestFlavorImpl.java
new file mode 100644
index 0000000..8df633f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestFlavorImpl.java
@@ -0,0 +1,199 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor;
+
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Flavor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestFlavorImpl#getVmType <em>Vm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestFlavorImpl extends OpenStackRequestImpl implements OpenstackRequestFlavor {
+ /**
+ * The cached value of the '{@link #getVmType() <em>Vm Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVmType()
+ * @generated
+ * @ordered
+ */
+ protected VirtualMachineType vmType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestFlavorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.OPENSTACK_REQUEST_FLAVOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VirtualMachineType getVmType() {
+ return vmType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetVmType(VirtualMachineType newVmType, NotificationChain msgs) {
+ VirtualMachineType oldVmType = vmType;
+ vmType = newVmType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE, oldVmType, newVmType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVmType(VirtualMachineType newVmType) {
+ if (newVmType != vmType) {
+ NotificationChain msgs = null;
+ if (vmType != null)
+ msgs = ((InternalEObject)vmType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE, null, msgs);
+ if (newVmType != null)
+ msgs = ((InternalEObject)newVmType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE, null, msgs);
+ msgs = basicSetVmType(newVmType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE, newVmType, newVmType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE:
+ return basicSetVmType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE:
+ return getVmType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE:
+ setVmType((VirtualMachineType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE:
+ setVmType((VirtualMachineType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR__VM_TYPE:
+ return vmType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OpenstackRequestFlavorImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestKeyPairImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestKeyPairImpl.java
new file mode 100644
index 0000000..898ea93
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestKeyPairImpl.java
@@ -0,0 +1,194 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair;
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Key Pair</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestKeyPairImpl#getUser <em>User</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestKeyPairImpl extends OpenStackRequestImpl implements OpenstackRequestKeyPair {
+ /**
+ * The cached value of the '{@link #getUser() <em>User</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser()
+ * @generated
+ * @ordered
+ */
+ protected User user;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestKeyPairImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.OPENSTACK_REQUEST_KEY_PAIR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public User getUser() {
+ return user;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUser(User newUser, NotificationChain msgs) {
+ User oldUser = user;
+ user = newUser;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER, oldUser, newUser);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser(User newUser) {
+ if (newUser != user) {
+ NotificationChain msgs = null;
+ if (user != null)
+ msgs = ((InternalEObject)user).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER, null, msgs);
+ if (newUser != null)
+ msgs = ((InternalEObject)newUser).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER, null, msgs);
+ msgs = basicSetUser(newUser, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER, newUser, newUser));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER:
+ return basicSetUser(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER:
+ return getUser();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER:
+ setUser((User)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER:
+ setUser((User)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR__USER:
+ return user != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OpenstackRequestKeyPairImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestNewServerImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestNewServerImpl.java
new file mode 100644
index 0000000..cc7aa34
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestNewServerImpl.java
@@ -0,0 +1,562 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer;
+
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request New Server</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getHypervisor <em>Hypervisor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getUser <em>User</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getNetworks <em>Networks</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getUser_data <em>User data</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getFloatingIp <em>Floating Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestNewServerImpl#getVmType <em>Vm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestNewServerImpl extends OpenStackRequestImpl implements OpenstackRequestNewServer {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHypervisor() <em>Hypervisor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor()
+ * @generated
+ * @ordered
+ */
+ protected static final String HYPERVISOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHypervisor() <em>Hypervisor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor()
+ * @generated
+ * @ordered
+ */
+ protected String hypervisor = HYPERVISOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUser() <em>User</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUser() <em>User</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser()
+ * @generated
+ * @ordered
+ */
+ protected String user = USER_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getNetworks() <em>Networks</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetworks()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> networks;
+
+ /**
+ * The cached value of the '{@link #getPorts() <em>Ports</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPorts()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ports;
+
+ /**
+ * The default value of the '{@link #getUser_data() <em>User data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_data()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_DATA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUser_data() <em>User data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_data()
+ * @generated
+ * @ordered
+ */
+ protected String user_data = USER_DATA_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFloatingIp() <em>Floating Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloatingIp()
+ * @generated
+ * @ordered
+ */
+ protected static final String FLOATING_IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFloatingIp() <em>Floating Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloatingIp()
+ * @generated
+ * @ordered
+ */
+ protected String floatingIp = FLOATING_IP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getVmType() <em>Vm Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVmType()
+ * @generated
+ * @ordered
+ */
+ protected VirtualMachineType vmType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestNewServerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.OPENSTACK_REQUEST_NEW_SERVER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHypervisor() {
+ return hypervisor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHypervisor(String newHypervisor) {
+ String oldHypervisor = hypervisor;
+ hypervisor = newHypervisor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR, oldHypervisor, hypervisor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser() {
+ return user;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser(String newUser) {
+ String oldUser = user;
+ user = newUser;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER, oldUser, user));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getNetworks() {
+ if (networks == null) {
+ networks = new EDataTypeEList<String>(String.class, this, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NETWORKS);
+ }
+ return networks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getPorts() {
+ if (ports == null) {
+ ports = new EDataTypeEList<String>(String.class, this, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__PORTS);
+ }
+ return ports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser_data() {
+ return user_data;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser_data(String newUser_data) {
+ String oldUser_data = user_data;
+ user_data = newUser_data;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER_DATA, oldUser_data, user_data));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFloatingIp() {
+ return floatingIp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFloatingIp(String newFloatingIp) {
+ String oldFloatingIp = floatingIp;
+ floatingIp = newFloatingIp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP, oldFloatingIp, floatingIp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VirtualMachineType getVmType() {
+ return vmType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetVmType(VirtualMachineType newVmType, NotificationChain msgs) {
+ VirtualMachineType oldVmType = vmType;
+ vmType = newVmType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE, oldVmType, newVmType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVmType(VirtualMachineType newVmType) {
+ if (newVmType != vmType) {
+ NotificationChain msgs = null;
+ if (vmType != null)
+ msgs = ((InternalEObject)vmType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE, null, msgs);
+ if (newVmType != null)
+ msgs = ((InternalEObject)newVmType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE, null, msgs);
+ msgs = basicSetVmType(newVmType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE, newVmType, newVmType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE:
+ return basicSetVmType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NAME:
+ return getName();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR:
+ return getHypervisor();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER:
+ return getUser();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NETWORKS:
+ return getNetworks();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__PORTS:
+ return getPorts();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER_DATA:
+ return getUser_data();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP:
+ return getFloatingIp();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE:
+ return getVmType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR:
+ setHypervisor((String)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER:
+ setUser((String)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NETWORKS:
+ getNetworks().clear();
+ getNetworks().addAll((Collection<? extends String>)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__PORTS:
+ getPorts().clear();
+ getPorts().addAll((Collection<? extends String>)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER_DATA:
+ setUser_data((String)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP:
+ setFloatingIp((String)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE:
+ setVmType((VirtualMachineType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR:
+ setHypervisor(HYPERVISOR_EDEFAULT);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER:
+ setUser(USER_EDEFAULT);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NETWORKS:
+ getNetworks().clear();
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__PORTS:
+ getPorts().clear();
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER_DATA:
+ setUser_data(USER_DATA_EDEFAULT);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP:
+ setFloatingIp(FLOATING_IP_EDEFAULT);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE:
+ setVmType((VirtualMachineType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__HYPERVISOR:
+ return HYPERVISOR_EDEFAULT == null ? hypervisor != null : !HYPERVISOR_EDEFAULT.equals(hypervisor);
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER:
+ return USER_EDEFAULT == null ? user != null : !USER_EDEFAULT.equals(user);
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__NETWORKS:
+ return networks != null && !networks.isEmpty();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__PORTS:
+ return ports != null && !ports.isEmpty();
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__USER_DATA:
+ return USER_DATA_EDEFAULT == null ? user_data != null : !USER_DATA_EDEFAULT.equals(user_data);
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__FLOATING_IP:
+ return FLOATING_IP_EDEFAULT == null ? floatingIp != null : !FLOATING_IP_EDEFAULT.equals(floatingIp);
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER__VM_TYPE:
+ return vmType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", hypervisor: ");
+ result.append(hypervisor);
+ result.append(", user: ");
+ result.append(user);
+ result.append(", networks: ");
+ result.append(networks);
+ result.append(", ports: ");
+ result.append(ports);
+ result.append(", user_data: ");
+ result.append(user_data);
+ result.append(", floatingIp: ");
+ result.append(floatingIp);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenstackRequestNewServerImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestPollImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestPollImpl.java
new file mode 100644
index 0000000..3d7787d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestPollImpl.java
@@ -0,0 +1,62 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestPoll;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Poll</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestPollImpl extends OpenStackRequestImpl implements OpenstackRequestPoll {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestPollImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.OPENSTACK_REQUEST_POLL;
+ }
+
+} //OpenstackRequestPollImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestSecurityGroupImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestSecurityGroupImpl.java
new file mode 100644
index 0000000..4e0ba54
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestSecurityGroupImpl.java
@@ -0,0 +1,199 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup;
+
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Security Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestSecurityGroupImpl#getVmType <em>Vm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestSecurityGroupImpl extends OpenStackRequestImpl implements OpenstackRequestSecurityGroup {
+ /**
+ * The cached value of the '{@link #getVmType() <em>Vm Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVmType()
+ * @generated
+ * @ordered
+ */
+ protected VirtualMachineType vmType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestSecurityGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.OPENSTACK_REQUEST_SECURITY_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VirtualMachineType getVmType() {
+ return vmType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetVmType(VirtualMachineType newVmType, NotificationChain msgs) {
+ VirtualMachineType oldVmType = vmType;
+ vmType = newVmType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE, oldVmType, newVmType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVmType(VirtualMachineType newVmType) {
+ if (newVmType != vmType) {
+ NotificationChain msgs = null;
+ if (vmType != null)
+ msgs = ((InternalEObject)vmType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE, null, msgs);
+ if (newVmType != null)
+ msgs = ((InternalEObject)newVmType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE, null, msgs);
+ msgs = basicSetVmType(newVmType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE, newVmType, newVmType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE:
+ return basicSetVmType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE:
+ return getVmType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE:
+ setVmType((VirtualMachineType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE:
+ setVmType((VirtualMachineType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP__VM_TYPE:
+ return vmType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OpenstackRequestSecurityGroupImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestServerActionImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestServerActionImpl.java
new file mode 100644
index 0000000..412ac12
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/OpenstackRequestServerActionImpl.java
@@ -0,0 +1,239 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Server Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestServerActionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.OpenstackRequestServerActionImpl#getAction <em>Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestServerActionImpl extends OpenStackRequestImpl implements OpenstackRequestServerAction {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAction() <em>Action</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAction()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAction() <em>Action</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAction()
+ * @generated
+ * @ordered
+ */
+ protected String action = ACTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestServerActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.OPENSTACK_REQUEST_SERVER_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAction() {
+ return action;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAction(String newAction) {
+ String oldAction = action;
+ action = newAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__ACTION, oldAction, action));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__NAME:
+ return getName();
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__ACTION:
+ return getAction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__ACTION:
+ setAction((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__ACTION:
+ setAction(ACTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION__ACTION:
+ return ACTION_EDEFAULT == null ? action != null : !ACTION_EDEFAULT.equals(action);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", action: ");
+ result.append(action);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenstackRequestServerActionImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/PersonalityImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/PersonalityImpl.java
new file mode 100644
index 0000000..8b2b26d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/PersonalityImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Personality;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Personality</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.PersonalityImpl#getPath <em>Path</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.PersonalityImpl#getContents <em>Contents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PersonalityImpl extends MinimalEObjectImpl.Container implements Personality {
+ /**
+ * The default value of the '{@link #getPath() <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPath() <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected String path = PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getContents() <em>Contents</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContents()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTENTS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getContents() <em>Contents</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContents()
+ * @generated
+ * @ordered
+ */
+ protected String contents = CONTENTS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PersonalityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.PERSONALITY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPath() {
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPath(String newPath) {
+ String oldPath = path;
+ path = newPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.PERSONALITY__PATH, oldPath, path));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getContents() {
+ return contents;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContents(String newContents) {
+ String oldContents = contents;
+ contents = newContents;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.PERSONALITY__CONTENTS, oldContents, contents));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.PERSONALITY__PATH:
+ return getPath();
+ case ComputePackage.PERSONALITY__CONTENTS:
+ return getContents();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.PERSONALITY__PATH:
+ setPath((String)newValue);
+ return;
+ case ComputePackage.PERSONALITY__CONTENTS:
+ setContents((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.PERSONALITY__PATH:
+ setPath(PATH_EDEFAULT);
+ return;
+ case ComputePackage.PERSONALITY__CONTENTS:
+ setContents(CONTENTS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.PERSONALITY__PATH:
+ return PATH_EDEFAULT == null ? path != null : !PATH_EDEFAULT.equals(path);
+ case ComputePackage.PERSONALITY__CONTENTS:
+ return CONTENTS_EDEFAULT == null ? contents != null : !CONTENTS_EDEFAULT.equals(contents);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (path: ");
+ result.append(path);
+ result.append(", contents: ");
+ result.append(contents);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PersonalityImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ReferenceImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ReferenceImpl.java
new file mode 100644
index 0000000..6295315
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ReferenceImpl.java
@@ -0,0 +1,243 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Link;
+import org.openecomp.ncomp.openstack.compute.Reference;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ReferenceImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ReferenceImpl#getLinks <em>Links</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReferenceImpl extends MinimalEObjectImpl.Container implements Reference {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLinks() <em>Links</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Link> links;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.REFERENCE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Link> getLinks() {
+ if (links == null) {
+ links = new EObjectContainmentEList<Link>(Link.class, this, ComputePackage.REFERENCE__LINKS);
+ }
+ return links;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.REFERENCE__LINKS:
+ return ((InternalEList<?>)getLinks()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.REFERENCE__ID:
+ return getId();
+ case ComputePackage.REFERENCE__LINKS:
+ return getLinks();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.REFERENCE__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.REFERENCE__LINKS:
+ getLinks().clear();
+ getLinks().addAll((Collection<? extends Link>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.REFERENCE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.REFERENCE__LINKS:
+ getLinks().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.REFERENCE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.REFERENCE__LINKS:
+ return links != null && !links.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ReferenceImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityGroupImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityGroupImpl.java
new file mode 100644
index 0000000..c99d77c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityGroupImpl.java
@@ -0,0 +1,352 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.SecurityGroup;
+import org.openecomp.ncomp.openstack.compute.SecurityRule;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl#getRules <em>Rules</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityGroupImpl#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SecurityGroupImpl extends NamedEntityImpl implements SecurityGroup {
+ /**
+ * The cached value of the '{@link #getRules() <em>Rules</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<SecurityRule> rules;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecurityGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.SECURITY_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SecurityRule> getRules() {
+ if (rules == null) {
+ rules = new EObjectContainmentEList<SecurityRule>(SecurityRule.class, this, ComputePackage.SECURITY_GROUP__RULES);
+ }
+ return rules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_GROUP__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_GROUP__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_GROUP__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_GROUP__RULES:
+ return ((InternalEList<?>)getRules()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_GROUP__RULES:
+ return getRules();
+ case ComputePackage.SECURITY_GROUP__TENANT_ID:
+ return getTenant_id();
+ case ComputePackage.SECURITY_GROUP__ID:
+ return getId();
+ case ComputePackage.SECURITY_GROUP__DESCRIPTION:
+ return getDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_GROUP__RULES:
+ getRules().clear();
+ getRules().addAll((Collection<? extends SecurityRule>)newValue);
+ return;
+ case ComputePackage.SECURITY_GROUP__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ case ComputePackage.SECURITY_GROUP__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.SECURITY_GROUP__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_GROUP__RULES:
+ getRules().clear();
+ return;
+ case ComputePackage.SECURITY_GROUP__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ case ComputePackage.SECURITY_GROUP__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.SECURITY_GROUP__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_GROUP__RULES:
+ return rules != null && !rules.isEmpty();
+ case ComputePackage.SECURITY_GROUP__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ case ComputePackage.SECURITY_GROUP__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.SECURITY_GROUP__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (tenant_id: ");
+ result.append(tenant_id);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SecurityGroupImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRangeImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRangeImpl.java
new file mode 100644
index 0000000..8796364
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRangeImpl.java
@@ -0,0 +1,184 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.SecurityRange;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRangeImpl#getCidr <em>Cidr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SecurityRangeImpl extends MinimalEObjectImpl.Container implements SecurityRange {
+ /**
+ * The default value of the '{@link #getCidr() <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCidr()
+ * @generated
+ * @ordered
+ */
+ protected static final String CIDR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCidr() <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCidr()
+ * @generated
+ * @ordered
+ */
+ protected String cidr = CIDR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecurityRangeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.SECURITY_RANGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCidr() {
+ return cidr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCidr(String newCidr) {
+ String oldCidr = cidr;
+ cidr = newCidr;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RANGE__CIDR, oldCidr, cidr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RANGE__CIDR:
+ return getCidr();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RANGE__CIDR:
+ setCidr((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RANGE__CIDR:
+ setCidr(CIDR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RANGE__CIDR:
+ return CIDR_EDEFAULT == null ? cidr != null : !CIDR_EDEFAULT.equals(cidr);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cidr: ");
+ result.append(cidr);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SecurityRangeImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRuleImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRuleImpl.java
new file mode 100644
index 0000000..cbb2ccf
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/SecurityRuleImpl.java
@@ -0,0 +1,548 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.SecurityGroup;
+import org.openecomp.ncomp.openstack.compute.SecurityRange;
+import org.openecomp.ncomp.openstack.compute.SecurityRule;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getFrom_port <em>From port</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getGroup <em>Group</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getIp_protocol <em>Ip protocol</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getTo_port <em>To port</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getParent_group_id <em>Parent group id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getIp_range <em>Ip range</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.SecurityRuleImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SecurityRuleImpl extends MinimalEObjectImpl.Container implements SecurityRule {
+ /**
+ * The default value of the '{@link #getFrom_port() <em>From port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom_port()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer FROM_PORT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFrom_port() <em>From port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom_port()
+ * @generated
+ * @ordered
+ */
+ protected Integer from_port = FROM_PORT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGroup() <em>Group</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGroup()
+ * @generated
+ * @ordered
+ */
+ protected SecurityGroup group;
+
+ /**
+ * The default value of the '{@link #getIp_protocol() <em>Ip protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_protocol()
+ * @generated
+ * @ordered
+ */
+ protected static final String IP_PROTOCOL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIp_protocol() <em>Ip protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_protocol()
+ * @generated
+ * @ordered
+ */
+ protected String ip_protocol = IP_PROTOCOL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTo_port() <em>To port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo_port()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer TO_PORT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTo_port() <em>To port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo_port()
+ * @generated
+ * @ordered
+ */
+ protected Integer to_port = TO_PORT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getParent_group_id() <em>Parent group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParent_group_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String PARENT_GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getParent_group_id() <em>Parent group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParent_group_id()
+ * @generated
+ * @ordered
+ */
+ protected String parent_group_id = PARENT_GROUP_ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIp_range() <em>Ip range</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_range()
+ * @generated
+ * @ordered
+ */
+ protected SecurityRange ip_range;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecurityRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.SECURITY_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getFrom_port() {
+ return from_port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom_port(Integer newFrom_port) {
+ Integer oldFrom_port = from_port;
+ from_port = newFrom_port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__FROM_PORT, oldFrom_port, from_port));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityGroup getGroup() {
+ return group;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGroup(SecurityGroup newGroup, NotificationChain msgs) {
+ SecurityGroup oldGroup = group;
+ group = newGroup;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__GROUP, oldGroup, newGroup);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGroup(SecurityGroup newGroup) {
+ if (newGroup != group) {
+ NotificationChain msgs = null;
+ if (group != null)
+ msgs = ((InternalEObject)group).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SECURITY_RULE__GROUP, null, msgs);
+ if (newGroup != null)
+ msgs = ((InternalEObject)newGroup).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SECURITY_RULE__GROUP, null, msgs);
+ msgs = basicSetGroup(newGroup, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__GROUP, newGroup, newGroup));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIp_protocol() {
+ return ip_protocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIp_protocol(String newIp_protocol) {
+ String oldIp_protocol = ip_protocol;
+ ip_protocol = newIp_protocol;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__IP_PROTOCOL, oldIp_protocol, ip_protocol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getTo_port() {
+ return to_port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo_port(Integer newTo_port) {
+ Integer oldTo_port = to_port;
+ to_port = newTo_port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__TO_PORT, oldTo_port, to_port));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getParent_group_id() {
+ return parent_group_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent_group_id(String newParent_group_id) {
+ String oldParent_group_id = parent_group_id;
+ parent_group_id = newParent_group_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__PARENT_GROUP_ID, oldParent_group_id, parent_group_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityRange getIp_range() {
+ return ip_range;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIp_range(SecurityRange newIp_range, NotificationChain msgs) {
+ SecurityRange oldIp_range = ip_range;
+ ip_range = newIp_range;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__IP_RANGE, oldIp_range, newIp_range);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIp_range(SecurityRange newIp_range) {
+ if (newIp_range != ip_range) {
+ NotificationChain msgs = null;
+ if (ip_range != null)
+ msgs = ((InternalEObject)ip_range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SECURITY_RULE__IP_RANGE, null, msgs);
+ if (newIp_range != null)
+ msgs = ((InternalEObject)newIp_range).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SECURITY_RULE__IP_RANGE, null, msgs);
+ msgs = basicSetIp_range(newIp_range, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__IP_RANGE, newIp_range, newIp_range));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SECURITY_RULE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RULE__GROUP:
+ return basicSetGroup(null, msgs);
+ case ComputePackage.SECURITY_RULE__IP_RANGE:
+ return basicSetIp_range(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RULE__FROM_PORT:
+ return getFrom_port();
+ case ComputePackage.SECURITY_RULE__GROUP:
+ return getGroup();
+ case ComputePackage.SECURITY_RULE__IP_PROTOCOL:
+ return getIp_protocol();
+ case ComputePackage.SECURITY_RULE__TO_PORT:
+ return getTo_port();
+ case ComputePackage.SECURITY_RULE__PARENT_GROUP_ID:
+ return getParent_group_id();
+ case ComputePackage.SECURITY_RULE__IP_RANGE:
+ return getIp_range();
+ case ComputePackage.SECURITY_RULE__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RULE__FROM_PORT:
+ setFrom_port((Integer)newValue);
+ return;
+ case ComputePackage.SECURITY_RULE__GROUP:
+ setGroup((SecurityGroup)newValue);
+ return;
+ case ComputePackage.SECURITY_RULE__IP_PROTOCOL:
+ setIp_protocol((String)newValue);
+ return;
+ case ComputePackage.SECURITY_RULE__TO_PORT:
+ setTo_port((Integer)newValue);
+ return;
+ case ComputePackage.SECURITY_RULE__PARENT_GROUP_ID:
+ setParent_group_id((String)newValue);
+ return;
+ case ComputePackage.SECURITY_RULE__IP_RANGE:
+ setIp_range((SecurityRange)newValue);
+ return;
+ case ComputePackage.SECURITY_RULE__ID:
+ setId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RULE__FROM_PORT:
+ setFrom_port(FROM_PORT_EDEFAULT);
+ return;
+ case ComputePackage.SECURITY_RULE__GROUP:
+ setGroup((SecurityGroup)null);
+ return;
+ case ComputePackage.SECURITY_RULE__IP_PROTOCOL:
+ setIp_protocol(IP_PROTOCOL_EDEFAULT);
+ return;
+ case ComputePackage.SECURITY_RULE__TO_PORT:
+ setTo_port(TO_PORT_EDEFAULT);
+ return;
+ case ComputePackage.SECURITY_RULE__PARENT_GROUP_ID:
+ setParent_group_id(PARENT_GROUP_ID_EDEFAULT);
+ return;
+ case ComputePackage.SECURITY_RULE__IP_RANGE:
+ setIp_range((SecurityRange)null);
+ return;
+ case ComputePackage.SECURITY_RULE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SECURITY_RULE__FROM_PORT:
+ return FROM_PORT_EDEFAULT == null ? from_port != null : !FROM_PORT_EDEFAULT.equals(from_port);
+ case ComputePackage.SECURITY_RULE__GROUP:
+ return group != null;
+ case ComputePackage.SECURITY_RULE__IP_PROTOCOL:
+ return IP_PROTOCOL_EDEFAULT == null ? ip_protocol != null : !IP_PROTOCOL_EDEFAULT.equals(ip_protocol);
+ case ComputePackage.SECURITY_RULE__TO_PORT:
+ return TO_PORT_EDEFAULT == null ? to_port != null : !TO_PORT_EDEFAULT.equals(to_port);
+ case ComputePackage.SECURITY_RULE__PARENT_GROUP_ID:
+ return PARENT_GROUP_ID_EDEFAULT == null ? parent_group_id != null : !PARENT_GROUP_ID_EDEFAULT.equals(parent_group_id);
+ case ComputePackage.SECURITY_RULE__IP_RANGE:
+ return ip_range != null;
+ case ComputePackage.SECURITY_RULE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (from_port: ");
+ result.append(from_port);
+ result.append(", ip_protocol: ");
+ result.append(ip_protocol);
+ result.append(", to_port: ");
+ result.append(to_port);
+ result.append(", parent_group_id: ");
+ result.append(parent_group_id);
+ result.append(", id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SecurityRuleImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ServerImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ServerImpl.java
new file mode 100644
index 0000000..e7a43ae
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/ServerImpl.java
@@ -0,0 +1,1688 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.Addresses;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Fault;
+import org.openecomp.ncomp.openstack.compute.Link;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+import org.openecomp.ncomp.openstack.compute.Reference;
+import org.openecomp.ncomp.openstack.compute.SecurityGroup;
+import org.openecomp.ncomp.openstack.compute.Server;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Server</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getUser_id <em>User id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getUpdated <em>Updated</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getCreated <em>Created</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getHostId <em>Host Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getAccessIPv4 <em>Access IPv4</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getAccessIPv6 <em>Access IPv6</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getConfig_drive <em>Config drive</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getKey_name <em>Key name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getProgress <em>Progress</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_DCF_diskConfig <em>OS DCF disk Config</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_EXT_STS_power_state <em>OS EXT STS power state</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_EXT_STS_vm_state <em>OS EXT STS vm state</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_EXT_STS_task_state <em>OS EXT STS task state</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_EXT_SRV_ATTR_host <em>OS EXT SRV ATTR host</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_EXT_SRV_ATTR_instance_name <em>OS EXT SRV ATTR instance name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_EXT_SRV_ATTR_hypervisor_hostname <em>OS EXT SRV ATTR hypervisor hostname</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_SRV_USG_launched_at <em>OS SRV USG launched at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getOS_SRV_USG_terminated_at <em>OS SRV USG terminated at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getImage <em>Image</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getFlavor <em>Flavor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getAddresses <em>Addresses</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getSecurity_groups <em>Security groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getMetadata <em>Metadata</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getLinks <em>Links</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.ServerImpl#getFault <em>Fault</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ServerImpl extends MinimalEObjectImpl.Container implements Server {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String USER_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUser_id() <em>User id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUser_id()
+ * @generated
+ * @ordered
+ */
+ protected String user_id = USER_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUpdated() <em>Updated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdated()
+ * @generated
+ * @ordered
+ */
+ protected static final String UPDATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUpdated() <em>Updated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdated()
+ * @generated
+ * @ordered
+ */
+ protected String updated = UPDATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCreated() <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated()
+ * @generated
+ * @ordered
+ */
+ protected static final String CREATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCreated() <em>Created</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated()
+ * @generated
+ * @ordered
+ */
+ protected String created = CREATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHostId() <em>Host Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHostId()
+ * @generated
+ * @ordered
+ */
+ protected static final String HOST_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHostId() <em>Host Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHostId()
+ * @generated
+ * @ordered
+ */
+ protected String hostId = HOST_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAccessIPv4() <em>Access IPv4</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessIPv4()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCESS_IPV4_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccessIPv4() <em>Access IPv4</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessIPv4()
+ * @generated
+ * @ordered
+ */
+ protected String accessIPv4 = ACCESS_IPV4_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAccessIPv6() <em>Access IPv6</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessIPv6()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCESS_IPV6_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccessIPv6() <em>Access IPv6</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessIPv6()
+ * @generated
+ * @ordered
+ */
+ protected String accessIPv6 = ACCESS_IPV6_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getConfig_drive() <em>Config drive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfig_drive()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONFIG_DRIVE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConfig_drive() <em>Config drive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfig_drive()
+ * @generated
+ * @ordered
+ */
+ protected String config_drive = CONFIG_DRIVE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKey_name() <em>Key name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKey_name()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKey_name() <em>Key name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKey_name()
+ * @generated
+ * @ordered
+ */
+ protected String key_name = KEY_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProgress() <em>Progress</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProgress()
+ * @generated
+ * @ordered
+ */
+ protected static final int PROGRESS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getProgress() <em>Progress</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProgress()
+ * @generated
+ * @ordered
+ */
+ protected int progress = PROGRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_DCF_diskConfig() <em>OS DCF disk Config</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_DCF_diskConfig()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_DCF_DISK_CONFIG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_DCF_diskConfig() <em>OS DCF disk Config</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_DCF_diskConfig()
+ * @generated
+ * @ordered
+ */
+ protected String oS_DCF_diskConfig = OS_DCF_DISK_CONFIG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_STS_power_state() <em>OS EXT STS power state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_STS_power_state()
+ * @generated
+ * @ordered
+ */
+ protected static final int OS_EXT_STS_POWER_STATE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_STS_power_state() <em>OS EXT STS power state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_STS_power_state()
+ * @generated
+ * @ordered
+ */
+ protected int oS_EXT_STS_power_state = OS_EXT_STS_POWER_STATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_STS_vm_state() <em>OS EXT STS vm state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_STS_vm_state()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_STS_VM_STATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_STS_vm_state() <em>OS EXT STS vm state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_STS_vm_state()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_STS_vm_state = OS_EXT_STS_VM_STATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_STS_task_state() <em>OS EXT STS task state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_STS_task_state()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_STS_TASK_STATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_STS_task_state() <em>OS EXT STS task state</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_STS_task_state()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_STS_task_state = OS_EXT_STS_TASK_STATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_SRV_ATTR_host() <em>OS EXT SRV ATTR host</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_SRV_ATTR_host()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_SRV_ATTR_HOST_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_SRV_ATTR_host() <em>OS EXT SRV ATTR host</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_SRV_ATTR_host()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_SRV_ATTR_host = OS_EXT_SRV_ATTR_HOST_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_SRV_ATTR_instance_name() <em>OS EXT SRV ATTR instance name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_SRV_ATTR_instance_name()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_SRV_ATTR_INSTANCE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_SRV_ATTR_instance_name() <em>OS EXT SRV ATTR instance name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_SRV_ATTR_instance_name()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_SRV_ATTR_instance_name = OS_EXT_SRV_ATTR_INSTANCE_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_EXT_SRV_ATTR_hypervisor_hostname() <em>OS EXT SRV ATTR hypervisor hostname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_SRV_ATTR_hypervisor_hostname()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_EXT_SRV_ATTR_hypervisor_hostname() <em>OS EXT SRV ATTR hypervisor hostname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_EXT_SRV_ATTR_hypervisor_hostname()
+ * @generated
+ * @ordered
+ */
+ protected String oS_EXT_SRV_ATTR_hypervisor_hostname = OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_SRV_USG_launched_at() <em>OS SRV USG launched at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_SRV_USG_launched_at()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_SRV_USG_LAUNCHED_AT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_SRV_USG_launched_at() <em>OS SRV USG launched at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_SRV_USG_launched_at()
+ * @generated
+ * @ordered
+ */
+ protected String oS_SRV_USG_launched_at = OS_SRV_USG_LAUNCHED_AT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOS_SRV_USG_terminated_at() <em>OS SRV USG terminated at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_SRV_USG_terminated_at()
+ * @generated
+ * @ordered
+ */
+ protected static final String OS_SRV_USG_TERMINATED_AT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOS_SRV_USG_terminated_at() <em>OS SRV USG terminated at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOS_SRV_USG_terminated_at()
+ * @generated
+ * @ordered
+ */
+ protected String oS_SRV_USG_terminated_at = OS_SRV_USG_TERMINATED_AT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getImage() <em>Image</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImage()
+ * @generated
+ * @ordered
+ */
+ protected Reference image;
+
+ /**
+ * The cached value of the '{@link #getFlavor() <em>Flavor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlavor()
+ * @generated
+ * @ordered
+ */
+ protected Reference flavor;
+
+ /**
+ * The cached value of the '{@link #getAddresses() <em>Addresses</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddresses()
+ * @generated
+ * @ordered
+ */
+ protected EList<Addresses> addresses;
+
+ /**
+ * The cached value of the '{@link #getSecurity_groups() <em>Security groups</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSecurity_groups()
+ * @generated
+ * @ordered
+ */
+ protected EList<SecurityGroup> security_groups;
+
+ /**
+ * The cached value of the '{@link #getMetadata() <em>Metadata</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetadata()
+ * @generated
+ * @ordered
+ */
+ protected EList<Metadata> metadata;
+
+ /**
+ * The cached value of the '{@link #getLinks() <em>Links</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Link> links;
+
+ /**
+ * The cached value of the '{@link #getFault() <em>Fault</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFault()
+ * @generated
+ * @ordered
+ */
+ protected Fault fault;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ServerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.SERVER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUser_id(String newUser_id) {
+ String oldUser_id = user_id;
+ user_id = newUser_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__USER_ID, oldUser_id, user_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUpdated() {
+ return updated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpdated(String newUpdated) {
+ String oldUpdated = updated;
+ updated = newUpdated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__UPDATED, oldUpdated, updated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreated() {
+ return created;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCreated(String newCreated) {
+ String oldCreated = created;
+ created = newCreated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__CREATED, oldCreated, created));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHostId() {
+ return hostId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHostId(String newHostId) {
+ String oldHostId = hostId;
+ hostId = newHostId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__HOST_ID, oldHostId, hostId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAccessIPv4() {
+ return accessIPv4;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessIPv4(String newAccessIPv4) {
+ String oldAccessIPv4 = accessIPv4;
+ accessIPv4 = newAccessIPv4;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__ACCESS_IPV4, oldAccessIPv4, accessIPv4));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAccessIPv6() {
+ return accessIPv6;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessIPv6(String newAccessIPv6) {
+ String oldAccessIPv6 = accessIPv6;
+ accessIPv6 = newAccessIPv6;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__ACCESS_IPV6, oldAccessIPv6, accessIPv6));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getConfig_drive() {
+ return config_drive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfig_drive(String newConfig_drive) {
+ String oldConfig_drive = config_drive;
+ config_drive = newConfig_drive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__CONFIG_DRIVE, oldConfig_drive, config_drive));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKey_name() {
+ return key_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey_name(String newKey_name) {
+ String oldKey_name = key_name;
+ key_name = newKey_name;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__KEY_NAME, oldKey_name, key_name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getProgress() {
+ return progress;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProgress(int newProgress) {
+ int oldProgress = progress;
+ progress = newProgress;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__PROGRESS, oldProgress, progress));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_DCF_diskConfig() {
+ return oS_DCF_diskConfig;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_DCF_diskConfig(String newOS_DCF_diskConfig) {
+ String oldOS_DCF_diskConfig = oS_DCF_diskConfig;
+ oS_DCF_diskConfig = newOS_DCF_diskConfig;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_DCF_DISK_CONFIG, oldOS_DCF_diskConfig, oS_DCF_diskConfig));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getOS_EXT_STS_power_state() {
+ return oS_EXT_STS_power_state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_STS_power_state(int newOS_EXT_STS_power_state) {
+ int oldOS_EXT_STS_power_state = oS_EXT_STS_power_state;
+ oS_EXT_STS_power_state = newOS_EXT_STS_power_state;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_EXT_STS_POWER_STATE, oldOS_EXT_STS_power_state, oS_EXT_STS_power_state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_STS_vm_state() {
+ return oS_EXT_STS_vm_state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_STS_vm_state(String newOS_EXT_STS_vm_state) {
+ String oldOS_EXT_STS_vm_state = oS_EXT_STS_vm_state;
+ oS_EXT_STS_vm_state = newOS_EXT_STS_vm_state;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_EXT_STS_VM_STATE, oldOS_EXT_STS_vm_state, oS_EXT_STS_vm_state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_STS_task_state() {
+ return oS_EXT_STS_task_state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_STS_task_state(String newOS_EXT_STS_task_state) {
+ String oldOS_EXT_STS_task_state = oS_EXT_STS_task_state;
+ oS_EXT_STS_task_state = newOS_EXT_STS_task_state;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_EXT_STS_TASK_STATE, oldOS_EXT_STS_task_state, oS_EXT_STS_task_state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_SRV_ATTR_host() {
+ return oS_EXT_SRV_ATTR_host;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_SRV_ATTR_host(String newOS_EXT_SRV_ATTR_host) {
+ String oldOS_EXT_SRV_ATTR_host = oS_EXT_SRV_ATTR_host;
+ oS_EXT_SRV_ATTR_host = newOS_EXT_SRV_ATTR_host;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_EXT_SRV_ATTR_HOST, oldOS_EXT_SRV_ATTR_host, oS_EXT_SRV_ATTR_host));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_SRV_ATTR_instance_name() {
+ return oS_EXT_SRV_ATTR_instance_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_SRV_ATTR_instance_name(String newOS_EXT_SRV_ATTR_instance_name) {
+ String oldOS_EXT_SRV_ATTR_instance_name = oS_EXT_SRV_ATTR_instance_name;
+ oS_EXT_SRV_ATTR_instance_name = newOS_EXT_SRV_ATTR_instance_name;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME, oldOS_EXT_SRV_ATTR_instance_name, oS_EXT_SRV_ATTR_instance_name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_EXT_SRV_ATTR_hypervisor_hostname() {
+ return oS_EXT_SRV_ATTR_hypervisor_hostname;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_EXT_SRV_ATTR_hypervisor_hostname(String newOS_EXT_SRV_ATTR_hypervisor_hostname) {
+ String oldOS_EXT_SRV_ATTR_hypervisor_hostname = oS_EXT_SRV_ATTR_hypervisor_hostname;
+ oS_EXT_SRV_ATTR_hypervisor_hostname = newOS_EXT_SRV_ATTR_hypervisor_hostname;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME, oldOS_EXT_SRV_ATTR_hypervisor_hostname, oS_EXT_SRV_ATTR_hypervisor_hostname));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_SRV_USG_launched_at() {
+ return oS_SRV_USG_launched_at;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_SRV_USG_launched_at(String newOS_SRV_USG_launched_at) {
+ String oldOS_SRV_USG_launched_at = oS_SRV_USG_launched_at;
+ oS_SRV_USG_launched_at = newOS_SRV_USG_launched_at;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_SRV_USG_LAUNCHED_AT, oldOS_SRV_USG_launched_at, oS_SRV_USG_launched_at));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOS_SRV_USG_terminated_at() {
+ return oS_SRV_USG_terminated_at;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOS_SRV_USG_terminated_at(String newOS_SRV_USG_terminated_at) {
+ String oldOS_SRV_USG_terminated_at = oS_SRV_USG_terminated_at;
+ oS_SRV_USG_terminated_at = newOS_SRV_USG_terminated_at;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__OS_SRV_USG_TERMINATED_AT, oldOS_SRV_USG_terminated_at, oS_SRV_USG_terminated_at));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reference getImage() {
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImage(Reference newImage, NotificationChain msgs) {
+ Reference oldImage = image;
+ image = newImage;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__IMAGE, oldImage, newImage);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImage(Reference newImage) {
+ if (newImage != image) {
+ NotificationChain msgs = null;
+ if (image != null)
+ msgs = ((InternalEObject)image).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SERVER__IMAGE, null, msgs);
+ if (newImage != null)
+ msgs = ((InternalEObject)newImage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SERVER__IMAGE, null, msgs);
+ msgs = basicSetImage(newImage, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__IMAGE, newImage, newImage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reference getFlavor() {
+ return flavor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFlavor(Reference newFlavor, NotificationChain msgs) {
+ Reference oldFlavor = flavor;
+ flavor = newFlavor;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__FLAVOR, oldFlavor, newFlavor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFlavor(Reference newFlavor) {
+ if (newFlavor != flavor) {
+ NotificationChain msgs = null;
+ if (flavor != null)
+ msgs = ((InternalEObject)flavor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SERVER__FLAVOR, null, msgs);
+ if (newFlavor != null)
+ msgs = ((InternalEObject)newFlavor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SERVER__FLAVOR, null, msgs);
+ msgs = basicSetFlavor(newFlavor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__FLAVOR, newFlavor, newFlavor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Addresses> getAddresses() {
+ if (addresses == null) {
+ addresses = new EObjectContainmentEList<Addresses>(Addresses.class, this, ComputePackage.SERVER__ADDRESSES);
+ }
+ return addresses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SecurityGroup> getSecurity_groups() {
+ if (security_groups == null) {
+ security_groups = new EObjectContainmentEList<SecurityGroup>(SecurityGroup.class, this, ComputePackage.SERVER__SECURITY_GROUPS);
+ }
+ return security_groups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Metadata> getMetadata() {
+ if (metadata == null) {
+ metadata = new EObjectContainmentEList<Metadata>(Metadata.class, this, ComputePackage.SERVER__METADATA);
+ }
+ return metadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Link> getLinks() {
+ if (links == null) {
+ links = new EObjectContainmentEList<Link>(Link.class, this, ComputePackage.SERVER__LINKS);
+ }
+ return links;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Fault getFault() {
+ return fault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFault(Fault newFault, NotificationChain msgs) {
+ Fault oldFault = fault;
+ fault = newFault;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__FAULT, oldFault, newFault);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFault(Fault newFault) {
+ if (newFault != fault) {
+ NotificationChain msgs = null;
+ if (fault != null)
+ msgs = ((InternalEObject)fault).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SERVER__FAULT, null, msgs);
+ if (newFault != null)
+ msgs = ((InternalEObject)newFault).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComputePackage.SERVER__FAULT, null, msgs);
+ msgs = basicSetFault(newFault, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.SERVER__FAULT, newFault, newFault));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.SERVER__IMAGE:
+ return basicSetImage(null, msgs);
+ case ComputePackage.SERVER__FLAVOR:
+ return basicSetFlavor(null, msgs);
+ case ComputePackage.SERVER__ADDRESSES:
+ return ((InternalEList<?>)getAddresses()).basicRemove(otherEnd, msgs);
+ case ComputePackage.SERVER__SECURITY_GROUPS:
+ return ((InternalEList<?>)getSecurity_groups()).basicRemove(otherEnd, msgs);
+ case ComputePackage.SERVER__METADATA:
+ return ((InternalEList<?>)getMetadata()).basicRemove(otherEnd, msgs);
+ case ComputePackage.SERVER__LINKS:
+ return ((InternalEList<?>)getLinks()).basicRemove(otherEnd, msgs);
+ case ComputePackage.SERVER__FAULT:
+ return basicSetFault(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.SERVER__ID:
+ return getId();
+ case ComputePackage.SERVER__TENANT_ID:
+ return getTenant_id();
+ case ComputePackage.SERVER__USER_ID:
+ return getUser_id();
+ case ComputePackage.SERVER__NAME:
+ return getName();
+ case ComputePackage.SERVER__UPDATED:
+ return getUpdated();
+ case ComputePackage.SERVER__CREATED:
+ return getCreated();
+ case ComputePackage.SERVER__HOST_ID:
+ return getHostId();
+ case ComputePackage.SERVER__ACCESS_IPV4:
+ return getAccessIPv4();
+ case ComputePackage.SERVER__ACCESS_IPV6:
+ return getAccessIPv6();
+ case ComputePackage.SERVER__STATUS:
+ return getStatus();
+ case ComputePackage.SERVER__CONFIG_DRIVE:
+ return getConfig_drive();
+ case ComputePackage.SERVER__KEY_NAME:
+ return getKey_name();
+ case ComputePackage.SERVER__PROGRESS:
+ return getProgress();
+ case ComputePackage.SERVER__OS_DCF_DISK_CONFIG:
+ return getOS_DCF_diskConfig();
+ case ComputePackage.SERVER__OS_EXT_STS_POWER_STATE:
+ return getOS_EXT_STS_power_state();
+ case ComputePackage.SERVER__OS_EXT_STS_VM_STATE:
+ return getOS_EXT_STS_vm_state();
+ case ComputePackage.SERVER__OS_EXT_STS_TASK_STATE:
+ return getOS_EXT_STS_task_state();
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HOST:
+ return getOS_EXT_SRV_ATTR_host();
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME:
+ return getOS_EXT_SRV_ATTR_instance_name();
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME:
+ return getOS_EXT_SRV_ATTR_hypervisor_hostname();
+ case ComputePackage.SERVER__OS_SRV_USG_LAUNCHED_AT:
+ return getOS_SRV_USG_launched_at();
+ case ComputePackage.SERVER__OS_SRV_USG_TERMINATED_AT:
+ return getOS_SRV_USG_terminated_at();
+ case ComputePackage.SERVER__IMAGE:
+ return getImage();
+ case ComputePackage.SERVER__FLAVOR:
+ return getFlavor();
+ case ComputePackage.SERVER__ADDRESSES:
+ return getAddresses();
+ case ComputePackage.SERVER__SECURITY_GROUPS:
+ return getSecurity_groups();
+ case ComputePackage.SERVER__METADATA:
+ return getMetadata();
+ case ComputePackage.SERVER__LINKS:
+ return getLinks();
+ case ComputePackage.SERVER__FAULT:
+ return getFault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.SERVER__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.SERVER__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ case ComputePackage.SERVER__USER_ID:
+ setUser_id((String)newValue);
+ return;
+ case ComputePackage.SERVER__NAME:
+ setName((String)newValue);
+ return;
+ case ComputePackage.SERVER__UPDATED:
+ setUpdated((String)newValue);
+ return;
+ case ComputePackage.SERVER__CREATED:
+ setCreated((String)newValue);
+ return;
+ case ComputePackage.SERVER__HOST_ID:
+ setHostId((String)newValue);
+ return;
+ case ComputePackage.SERVER__ACCESS_IPV4:
+ setAccessIPv4((String)newValue);
+ return;
+ case ComputePackage.SERVER__ACCESS_IPV6:
+ setAccessIPv6((String)newValue);
+ return;
+ case ComputePackage.SERVER__STATUS:
+ setStatus((String)newValue);
+ return;
+ case ComputePackage.SERVER__CONFIG_DRIVE:
+ setConfig_drive((String)newValue);
+ return;
+ case ComputePackage.SERVER__KEY_NAME:
+ setKey_name((String)newValue);
+ return;
+ case ComputePackage.SERVER__PROGRESS:
+ setProgress((Integer)newValue);
+ return;
+ case ComputePackage.SERVER__OS_DCF_DISK_CONFIG:
+ setOS_DCF_diskConfig((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_EXT_STS_POWER_STATE:
+ setOS_EXT_STS_power_state((Integer)newValue);
+ return;
+ case ComputePackage.SERVER__OS_EXT_STS_VM_STATE:
+ setOS_EXT_STS_vm_state((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_EXT_STS_TASK_STATE:
+ setOS_EXT_STS_task_state((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HOST:
+ setOS_EXT_SRV_ATTR_host((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME:
+ setOS_EXT_SRV_ATTR_instance_name((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME:
+ setOS_EXT_SRV_ATTR_hypervisor_hostname((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_SRV_USG_LAUNCHED_AT:
+ setOS_SRV_USG_launched_at((String)newValue);
+ return;
+ case ComputePackage.SERVER__OS_SRV_USG_TERMINATED_AT:
+ setOS_SRV_USG_terminated_at((String)newValue);
+ return;
+ case ComputePackage.SERVER__IMAGE:
+ setImage((Reference)newValue);
+ return;
+ case ComputePackage.SERVER__FLAVOR:
+ setFlavor((Reference)newValue);
+ return;
+ case ComputePackage.SERVER__ADDRESSES:
+ getAddresses().clear();
+ getAddresses().addAll((Collection<? extends Addresses>)newValue);
+ return;
+ case ComputePackage.SERVER__SECURITY_GROUPS:
+ getSecurity_groups().clear();
+ getSecurity_groups().addAll((Collection<? extends SecurityGroup>)newValue);
+ return;
+ case ComputePackage.SERVER__METADATA:
+ getMetadata().clear();
+ getMetadata().addAll((Collection<? extends Metadata>)newValue);
+ return;
+ case ComputePackage.SERVER__LINKS:
+ getLinks().clear();
+ getLinks().addAll((Collection<? extends Link>)newValue);
+ return;
+ case ComputePackage.SERVER__FAULT:
+ setFault((Fault)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SERVER__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__USER_ID:
+ setUser_id(USER_ID_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__UPDATED:
+ setUpdated(UPDATED_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__CREATED:
+ setCreated(CREATED_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__HOST_ID:
+ setHostId(HOST_ID_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__ACCESS_IPV4:
+ setAccessIPv4(ACCESS_IPV4_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__ACCESS_IPV6:
+ setAccessIPv6(ACCESS_IPV6_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__CONFIG_DRIVE:
+ setConfig_drive(CONFIG_DRIVE_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__KEY_NAME:
+ setKey_name(KEY_NAME_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__PROGRESS:
+ setProgress(PROGRESS_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_DCF_DISK_CONFIG:
+ setOS_DCF_diskConfig(OS_DCF_DISK_CONFIG_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_EXT_STS_POWER_STATE:
+ setOS_EXT_STS_power_state(OS_EXT_STS_POWER_STATE_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_EXT_STS_VM_STATE:
+ setOS_EXT_STS_vm_state(OS_EXT_STS_VM_STATE_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_EXT_STS_TASK_STATE:
+ setOS_EXT_STS_task_state(OS_EXT_STS_TASK_STATE_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HOST:
+ setOS_EXT_SRV_ATTR_host(OS_EXT_SRV_ATTR_HOST_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME:
+ setOS_EXT_SRV_ATTR_instance_name(OS_EXT_SRV_ATTR_INSTANCE_NAME_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME:
+ setOS_EXT_SRV_ATTR_hypervisor_hostname(OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_SRV_USG_LAUNCHED_AT:
+ setOS_SRV_USG_launched_at(OS_SRV_USG_LAUNCHED_AT_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__OS_SRV_USG_TERMINATED_AT:
+ setOS_SRV_USG_terminated_at(OS_SRV_USG_TERMINATED_AT_EDEFAULT);
+ return;
+ case ComputePackage.SERVER__IMAGE:
+ setImage((Reference)null);
+ return;
+ case ComputePackage.SERVER__FLAVOR:
+ setFlavor((Reference)null);
+ return;
+ case ComputePackage.SERVER__ADDRESSES:
+ getAddresses().clear();
+ return;
+ case ComputePackage.SERVER__SECURITY_GROUPS:
+ getSecurity_groups().clear();
+ return;
+ case ComputePackage.SERVER__METADATA:
+ getMetadata().clear();
+ return;
+ case ComputePackage.SERVER__LINKS:
+ getLinks().clear();
+ return;
+ case ComputePackage.SERVER__FAULT:
+ setFault((Fault)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.SERVER__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.SERVER__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ case ComputePackage.SERVER__USER_ID:
+ return USER_ID_EDEFAULT == null ? user_id != null : !USER_ID_EDEFAULT.equals(user_id);
+ case ComputePackage.SERVER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ComputePackage.SERVER__UPDATED:
+ return UPDATED_EDEFAULT == null ? updated != null : !UPDATED_EDEFAULT.equals(updated);
+ case ComputePackage.SERVER__CREATED:
+ return CREATED_EDEFAULT == null ? created != null : !CREATED_EDEFAULT.equals(created);
+ case ComputePackage.SERVER__HOST_ID:
+ return HOST_ID_EDEFAULT == null ? hostId != null : !HOST_ID_EDEFAULT.equals(hostId);
+ case ComputePackage.SERVER__ACCESS_IPV4:
+ return ACCESS_IPV4_EDEFAULT == null ? accessIPv4 != null : !ACCESS_IPV4_EDEFAULT.equals(accessIPv4);
+ case ComputePackage.SERVER__ACCESS_IPV6:
+ return ACCESS_IPV6_EDEFAULT == null ? accessIPv6 != null : !ACCESS_IPV6_EDEFAULT.equals(accessIPv6);
+ case ComputePackage.SERVER__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case ComputePackage.SERVER__CONFIG_DRIVE:
+ return CONFIG_DRIVE_EDEFAULT == null ? config_drive != null : !CONFIG_DRIVE_EDEFAULT.equals(config_drive);
+ case ComputePackage.SERVER__KEY_NAME:
+ return KEY_NAME_EDEFAULT == null ? key_name != null : !KEY_NAME_EDEFAULT.equals(key_name);
+ case ComputePackage.SERVER__PROGRESS:
+ return progress != PROGRESS_EDEFAULT;
+ case ComputePackage.SERVER__OS_DCF_DISK_CONFIG:
+ return OS_DCF_DISK_CONFIG_EDEFAULT == null ? oS_DCF_diskConfig != null : !OS_DCF_DISK_CONFIG_EDEFAULT.equals(oS_DCF_diskConfig);
+ case ComputePackage.SERVER__OS_EXT_STS_POWER_STATE:
+ return oS_EXT_STS_power_state != OS_EXT_STS_POWER_STATE_EDEFAULT;
+ case ComputePackage.SERVER__OS_EXT_STS_VM_STATE:
+ return OS_EXT_STS_VM_STATE_EDEFAULT == null ? oS_EXT_STS_vm_state != null : !OS_EXT_STS_VM_STATE_EDEFAULT.equals(oS_EXT_STS_vm_state);
+ case ComputePackage.SERVER__OS_EXT_STS_TASK_STATE:
+ return OS_EXT_STS_TASK_STATE_EDEFAULT == null ? oS_EXT_STS_task_state != null : !OS_EXT_STS_TASK_STATE_EDEFAULT.equals(oS_EXT_STS_task_state);
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HOST:
+ return OS_EXT_SRV_ATTR_HOST_EDEFAULT == null ? oS_EXT_SRV_ATTR_host != null : !OS_EXT_SRV_ATTR_HOST_EDEFAULT.equals(oS_EXT_SRV_ATTR_host);
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_INSTANCE_NAME:
+ return OS_EXT_SRV_ATTR_INSTANCE_NAME_EDEFAULT == null ? oS_EXT_SRV_ATTR_instance_name != null : !OS_EXT_SRV_ATTR_INSTANCE_NAME_EDEFAULT.equals(oS_EXT_SRV_ATTR_instance_name);
+ case ComputePackage.SERVER__OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME:
+ return OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME_EDEFAULT == null ? oS_EXT_SRV_ATTR_hypervisor_hostname != null : !OS_EXT_SRV_ATTR_HYPERVISOR_HOSTNAME_EDEFAULT.equals(oS_EXT_SRV_ATTR_hypervisor_hostname);
+ case ComputePackage.SERVER__OS_SRV_USG_LAUNCHED_AT:
+ return OS_SRV_USG_LAUNCHED_AT_EDEFAULT == null ? oS_SRV_USG_launched_at != null : !OS_SRV_USG_LAUNCHED_AT_EDEFAULT.equals(oS_SRV_USG_launched_at);
+ case ComputePackage.SERVER__OS_SRV_USG_TERMINATED_AT:
+ return OS_SRV_USG_TERMINATED_AT_EDEFAULT == null ? oS_SRV_USG_terminated_at != null : !OS_SRV_USG_TERMINATED_AT_EDEFAULT.equals(oS_SRV_USG_terminated_at);
+ case ComputePackage.SERVER__IMAGE:
+ return image != null;
+ case ComputePackage.SERVER__FLAVOR:
+ return flavor != null;
+ case ComputePackage.SERVER__ADDRESSES:
+ return addresses != null && !addresses.isEmpty();
+ case ComputePackage.SERVER__SECURITY_GROUPS:
+ return security_groups != null && !security_groups.isEmpty();
+ case ComputePackage.SERVER__METADATA:
+ return metadata != null && !metadata.isEmpty();
+ case ComputePackage.SERVER__LINKS:
+ return links != null && !links.isEmpty();
+ case ComputePackage.SERVER__FAULT:
+ return fault != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(", user_id: ");
+ result.append(user_id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", updated: ");
+ result.append(updated);
+ result.append(", created: ");
+ result.append(created);
+ result.append(", hostId: ");
+ result.append(hostId);
+ result.append(", accessIPv4: ");
+ result.append(accessIPv4);
+ result.append(", accessIPv6: ");
+ result.append(accessIPv6);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", config_drive: ");
+ result.append(config_drive);
+ result.append(", key_name: ");
+ result.append(key_name);
+ result.append(", progress: ");
+ result.append(progress);
+ result.append(", OS_DCF_diskConfig: ");
+ result.append(oS_DCF_diskConfig);
+ result.append(", OS_EXT_STS_power_state: ");
+ result.append(oS_EXT_STS_power_state);
+ result.append(", OS_EXT_STS_vm_state: ");
+ result.append(oS_EXT_STS_vm_state);
+ result.append(", OS_EXT_STS_task_state: ");
+ result.append(oS_EXT_STS_task_state);
+ result.append(", OS_EXT_SRV_ATTR_host: ");
+ result.append(oS_EXT_SRV_ATTR_host);
+ result.append(", OS_EXT_SRV_ATTR_instance_name: ");
+ result.append(oS_EXT_SRV_ATTR_instance_name);
+ result.append(", OS_EXT_SRV_ATTR_hypervisor_hostname: ");
+ result.append(oS_EXT_SRV_ATTR_hypervisor_hostname);
+ result.append(", OS_SRV_USG_launched_at: ");
+ result.append(oS_SRV_USG_launched_at);
+ result.append(", OS_SRV_USG_terminated_at: ");
+ result.append(oS_SRV_USG_terminated_at);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ServerImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeAttachmentImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeAttachmentImpl.java
new file mode 100644
index 0000000..abdd4a5
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeAttachmentImpl.java
@@ -0,0 +1,346 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.VolumeAttachment;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Volume Attachment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl#getDevice <em>Device</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl#getServer_id <em>Server id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeAttachmentImpl#getVolume_id <em>Volume id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VolumeAttachmentImpl extends MinimalEObjectImpl.Container implements VolumeAttachment {
+ /**
+ * The default value of the '{@link #getDevice() <em>Device</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevice()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEVICE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDevice() <em>Device</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevice()
+ * @generated
+ * @ordered
+ */
+ protected String device = DEVICE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getServer_id() <em>Server id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getServer_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String SERVER_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getServer_id() <em>Server id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getServer_id()
+ * @generated
+ * @ordered
+ */
+ protected String server_id = SERVER_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVolume_id() <em>Volume id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolume_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String VOLUME_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVolume_id() <em>Volume id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolume_id()
+ * @generated
+ * @ordered
+ */
+ protected String volume_id = VOLUME_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VolumeAttachmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.VOLUME_ATTACHMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDevice() {
+ return device;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDevice(String newDevice) {
+ String oldDevice = device;
+ device = newDevice;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME_ATTACHMENT__DEVICE, oldDevice, device));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getServer_id() {
+ return server_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setServer_id(String newServer_id) {
+ String oldServer_id = server_id;
+ server_id = newServer_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME_ATTACHMENT__SERVER_ID, oldServer_id, server_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME_ATTACHMENT__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVolume_id() {
+ return volume_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVolume_id(String newVolume_id) {
+ String oldVolume_id = volume_id;
+ volume_id = newVolume_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME_ATTACHMENT__VOLUME_ID, oldVolume_id, volume_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.VOLUME_ATTACHMENT__DEVICE:
+ return getDevice();
+ case ComputePackage.VOLUME_ATTACHMENT__SERVER_ID:
+ return getServer_id();
+ case ComputePackage.VOLUME_ATTACHMENT__ID:
+ return getId();
+ case ComputePackage.VOLUME_ATTACHMENT__VOLUME_ID:
+ return getVolume_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.VOLUME_ATTACHMENT__DEVICE:
+ setDevice((String)newValue);
+ return;
+ case ComputePackage.VOLUME_ATTACHMENT__SERVER_ID:
+ setServer_id((String)newValue);
+ return;
+ case ComputePackage.VOLUME_ATTACHMENT__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.VOLUME_ATTACHMENT__VOLUME_ID:
+ setVolume_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.VOLUME_ATTACHMENT__DEVICE:
+ setDevice(DEVICE_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME_ATTACHMENT__SERVER_ID:
+ setServer_id(SERVER_ID_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME_ATTACHMENT__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME_ATTACHMENT__VOLUME_ID:
+ setVolume_id(VOLUME_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.VOLUME_ATTACHMENT__DEVICE:
+ return DEVICE_EDEFAULT == null ? device != null : !DEVICE_EDEFAULT.equals(device);
+ case ComputePackage.VOLUME_ATTACHMENT__SERVER_ID:
+ return SERVER_ID_EDEFAULT == null ? server_id != null : !SERVER_ID_EDEFAULT.equals(server_id);
+ case ComputePackage.VOLUME_ATTACHMENT__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.VOLUME_ATTACHMENT__VOLUME_ID:
+ return VOLUME_ID_EDEFAULT == null ? volume_id != null : !VOLUME_ID_EDEFAULT.equals(volume_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (device: ");
+ result.append(device);
+ result.append(", server_id: ");
+ result.append(server_id);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", volume_id: ");
+ result.append(volume_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VolumeAttachmentImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeImpl.java
new file mode 100644
index 0000000..d443043
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/impl/VolumeImpl.java
@@ -0,0 +1,713 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.Metadata;
+import org.openecomp.ncomp.openstack.compute.Volume;
+import org.openecomp.ncomp.openstack.compute.VolumeAttachment;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Volume</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getDisplay_name <em>Display name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getAttachments <em>Attachments</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getAvailability_zone <em>Availability zone</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getCreated_at <em>Created at</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getVolume_type <em>Volume type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getMetadata <em>Metadata</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getSize <em>Size</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getSnapshot_id <em>Snapshot id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.compute.impl.VolumeImpl#getDisplay_description <em>Display description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VolumeImpl extends NamedEntityImpl implements Volume {
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDisplay_name() <em>Display name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisplay_name()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISPLAY_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDisplay_name() <em>Display name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisplay_name()
+ * @generated
+ * @ordered
+ */
+ protected String display_name = DISPLAY_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAttachments() <em>Attachments</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttachments()
+ * @generated
+ * @ordered
+ */
+ protected EList<VolumeAttachment> attachments;
+
+ /**
+ * The default value of the '{@link #getAvailability_zone() <em>Availability zone</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAvailability_zone()
+ * @generated
+ * @ordered
+ */
+ protected static final String AVAILABILITY_ZONE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAvailability_zone() <em>Availability zone</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAvailability_zone()
+ * @generated
+ * @ordered
+ */
+ protected String availability_zone = AVAILABILITY_ZONE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCreated_at() <em>Created at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated_at()
+ * @generated
+ * @ordered
+ */
+ protected static final String CREATED_AT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCreated_at() <em>Created at</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreated_at()
+ * @generated
+ * @ordered
+ */
+ protected String created_at = CREATED_AT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVolume_type() <em>Volume type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolume_type()
+ * @generated
+ * @ordered
+ */
+ protected static final String VOLUME_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVolume_type() <em>Volume type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolume_type()
+ * @generated
+ * @ordered
+ */
+ protected String volume_type = VOLUME_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMetadata() <em>Metadata</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetadata()
+ * @generated
+ * @ordered
+ */
+ protected EList<Metadata> metadata;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSize() <em>Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int SIZE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSize()
+ * @generated
+ * @ordered
+ */
+ protected int size = SIZE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSnapshot_id() <em>Snapshot id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSnapshot_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String SNAPSHOT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSnapshot_id() <em>Snapshot id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSnapshot_id()
+ * @generated
+ * @ordered
+ */
+ protected String snapshot_id = SNAPSHOT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDisplay_description() <em>Display description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisplay_description()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISPLAY_DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDisplay_description() <em>Display description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisplay_description()
+ * @generated
+ * @ordered
+ */
+ protected String display_description = DISPLAY_DESCRIPTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VolumeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComputePackage.Literals.VOLUME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDisplay_name() {
+ return display_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisplay_name(String newDisplay_name) {
+ String oldDisplay_name = display_name;
+ display_name = newDisplay_name;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__DISPLAY_NAME, oldDisplay_name, display_name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VolumeAttachment> getAttachments() {
+ if (attachments == null) {
+ attachments = new EObjectContainmentEList<VolumeAttachment>(VolumeAttachment.class, this, ComputePackage.VOLUME__ATTACHMENTS);
+ }
+ return attachments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAvailability_zone() {
+ return availability_zone;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAvailability_zone(String newAvailability_zone) {
+ String oldAvailability_zone = availability_zone;
+ availability_zone = newAvailability_zone;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__AVAILABILITY_ZONE, oldAvailability_zone, availability_zone));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreated_at() {
+ return created_at;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCreated_at(String newCreated_at) {
+ String oldCreated_at = created_at;
+ created_at = newCreated_at;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__CREATED_AT, oldCreated_at, created_at));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVolume_type() {
+ return volume_type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVolume_type(String newVolume_type) {
+ String oldVolume_type = volume_type;
+ volume_type = newVolume_type;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__VOLUME_TYPE, oldVolume_type, volume_type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Metadata> getMetadata() {
+ if (metadata == null) {
+ metadata = new EObjectContainmentEList<Metadata>(Metadata.class, this, ComputePackage.VOLUME__METADATA);
+ }
+ return metadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getSize() {
+ return size;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSize(int newSize) {
+ int oldSize = size;
+ size = newSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__SIZE, oldSize, size));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSnapshot_id() {
+ return snapshot_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSnapshot_id(String newSnapshot_id) {
+ String oldSnapshot_id = snapshot_id;
+ snapshot_id = newSnapshot_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__SNAPSHOT_ID, oldSnapshot_id, snapshot_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDisplay_description() {
+ return display_description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisplay_description(String newDisplay_description) {
+ String oldDisplay_description = display_description;
+ display_description = newDisplay_description;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComputePackage.VOLUME__DISPLAY_DESCRIPTION, oldDisplay_description, display_description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ComputePackage.VOLUME__ATTACHMENTS:
+ return ((InternalEList<?>)getAttachments()).basicRemove(otherEnd, msgs);
+ case ComputePackage.VOLUME__METADATA:
+ return ((InternalEList<?>)getMetadata()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComputePackage.VOLUME__STATUS:
+ return getStatus();
+ case ComputePackage.VOLUME__DISPLAY_NAME:
+ return getDisplay_name();
+ case ComputePackage.VOLUME__ATTACHMENTS:
+ return getAttachments();
+ case ComputePackage.VOLUME__AVAILABILITY_ZONE:
+ return getAvailability_zone();
+ case ComputePackage.VOLUME__CREATED_AT:
+ return getCreated_at();
+ case ComputePackage.VOLUME__VOLUME_TYPE:
+ return getVolume_type();
+ case ComputePackage.VOLUME__METADATA:
+ return getMetadata();
+ case ComputePackage.VOLUME__ID:
+ return getId();
+ case ComputePackage.VOLUME__SIZE:
+ return getSize();
+ case ComputePackage.VOLUME__SNAPSHOT_ID:
+ return getSnapshot_id();
+ case ComputePackage.VOLUME__DISPLAY_DESCRIPTION:
+ return getDisplay_description();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ComputePackage.VOLUME__STATUS:
+ setStatus((String)newValue);
+ return;
+ case ComputePackage.VOLUME__DISPLAY_NAME:
+ setDisplay_name((String)newValue);
+ return;
+ case ComputePackage.VOLUME__ATTACHMENTS:
+ getAttachments().clear();
+ getAttachments().addAll((Collection<? extends VolumeAttachment>)newValue);
+ return;
+ case ComputePackage.VOLUME__AVAILABILITY_ZONE:
+ setAvailability_zone((String)newValue);
+ return;
+ case ComputePackage.VOLUME__CREATED_AT:
+ setCreated_at((String)newValue);
+ return;
+ case ComputePackage.VOLUME__VOLUME_TYPE:
+ setVolume_type((String)newValue);
+ return;
+ case ComputePackage.VOLUME__METADATA:
+ getMetadata().clear();
+ getMetadata().addAll((Collection<? extends Metadata>)newValue);
+ return;
+ case ComputePackage.VOLUME__ID:
+ setId((String)newValue);
+ return;
+ case ComputePackage.VOLUME__SIZE:
+ setSize((Integer)newValue);
+ return;
+ case ComputePackage.VOLUME__SNAPSHOT_ID:
+ setSnapshot_id((String)newValue);
+ return;
+ case ComputePackage.VOLUME__DISPLAY_DESCRIPTION:
+ setDisplay_description((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ComputePackage.VOLUME__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__DISPLAY_NAME:
+ setDisplay_name(DISPLAY_NAME_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__ATTACHMENTS:
+ getAttachments().clear();
+ return;
+ case ComputePackage.VOLUME__AVAILABILITY_ZONE:
+ setAvailability_zone(AVAILABILITY_ZONE_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__CREATED_AT:
+ setCreated_at(CREATED_AT_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__VOLUME_TYPE:
+ setVolume_type(VOLUME_TYPE_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__METADATA:
+ getMetadata().clear();
+ return;
+ case ComputePackage.VOLUME__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__SIZE:
+ setSize(SIZE_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__SNAPSHOT_ID:
+ setSnapshot_id(SNAPSHOT_ID_EDEFAULT);
+ return;
+ case ComputePackage.VOLUME__DISPLAY_DESCRIPTION:
+ setDisplay_description(DISPLAY_DESCRIPTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComputePackage.VOLUME__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case ComputePackage.VOLUME__DISPLAY_NAME:
+ return DISPLAY_NAME_EDEFAULT == null ? display_name != null : !DISPLAY_NAME_EDEFAULT.equals(display_name);
+ case ComputePackage.VOLUME__ATTACHMENTS:
+ return attachments != null && !attachments.isEmpty();
+ case ComputePackage.VOLUME__AVAILABILITY_ZONE:
+ return AVAILABILITY_ZONE_EDEFAULT == null ? availability_zone != null : !AVAILABILITY_ZONE_EDEFAULT.equals(availability_zone);
+ case ComputePackage.VOLUME__CREATED_AT:
+ return CREATED_AT_EDEFAULT == null ? created_at != null : !CREATED_AT_EDEFAULT.equals(created_at);
+ case ComputePackage.VOLUME__VOLUME_TYPE:
+ return VOLUME_TYPE_EDEFAULT == null ? volume_type != null : !VOLUME_TYPE_EDEFAULT.equals(volume_type);
+ case ComputePackage.VOLUME__METADATA:
+ return metadata != null && !metadata.isEmpty();
+ case ComputePackage.VOLUME__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ComputePackage.VOLUME__SIZE:
+ return size != SIZE_EDEFAULT;
+ case ComputePackage.VOLUME__SNAPSHOT_ID:
+ return SNAPSHOT_ID_EDEFAULT == null ? snapshot_id != null : !SNAPSHOT_ID_EDEFAULT.equals(snapshot_id);
+ case ComputePackage.VOLUME__DISPLAY_DESCRIPTION:
+ return DISPLAY_DESCRIPTION_EDEFAULT == null ? display_description != null : !DISPLAY_DESCRIPTION_EDEFAULT.equals(display_description);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (status: ");
+ result.append(status);
+ result.append(", display_name: ");
+ result.append(display_name);
+ result.append(", availability_zone: ");
+ result.append(availability_zone);
+ result.append(", created_at: ");
+ result.append(created_at);
+ result.append(", volume_type: ");
+ result.append(volume_type);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", size: ");
+ result.append(size);
+ result.append(", snapshot_id: ");
+ result.append(snapshot_id);
+ result.append(", display_description: ");
+ result.append(display_description);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VolumeImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeAdapterFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeAdapterFactory.java
new file mode 100644
index 0000000..2836eef
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeAdapterFactory.java
@@ -0,0 +1,595 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.compute.*;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage
+ * @generated
+ */
+public class ComputeAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ComputePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputeAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ComputePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComputeSwitch<Adapter> modelSwitch =
+ new ComputeSwitch<Adapter>() {
+ @Override
+ public Adapter caseComputeService(ComputeService object) {
+ return createComputeServiceAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestNewServer(OpenstackRequestNewServer object) {
+ return createOpenstackRequestNewServerAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestKeyPair(OpenstackRequestKeyPair object) {
+ return createOpenstackRequestKeyPairAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestFlavor(OpenstackRequestFlavor object) {
+ return createOpenstackRequestFlavorAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestSecurityGroup(OpenstackRequestSecurityGroup object) {
+ return createOpenstackRequestSecurityGroupAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestServerAction(OpenstackRequestServerAction object) {
+ return createOpenstackRequestServerActionAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestPoll(OpenstackRequestPoll object) {
+ return createOpenstackRequestPollAdapter();
+ }
+ @Override
+ public Adapter caseServer(Server object) {
+ return createServerAdapter();
+ }
+ @Override
+ public Adapter caseImage(Image object) {
+ return createImageAdapter();
+ }
+ @Override
+ public Adapter caseFlavor(Flavor object) {
+ return createFlavorAdapter();
+ }
+ @Override
+ public Adapter caseAddresses(Addresses object) {
+ return createAddressesAdapter();
+ }
+ @Override
+ public Adapter caseAddress(Address object) {
+ return createAddressAdapter();
+ }
+ @Override
+ public Adapter caseLink(Link object) {
+ return createLinkAdapter();
+ }
+ @Override
+ public Adapter caseMetadata(Metadata object) {
+ return createMetadataAdapter();
+ }
+ @Override
+ public Adapter caseFault(Fault object) {
+ return createFaultAdapter();
+ }
+ @Override
+ public Adapter casePersonality(Personality object) {
+ return createPersonalityAdapter();
+ }
+ @Override
+ public Adapter caseReference(Reference object) {
+ return createReferenceAdapter();
+ }
+ @Override
+ public Adapter caseVolume(Volume object) {
+ return createVolumeAdapter();
+ }
+ @Override
+ public Adapter caseVolumeAttachment(VolumeAttachment object) {
+ return createVolumeAttachmentAdapter();
+ }
+ @Override
+ public Adapter caseFloatingIp(FloatingIp object) {
+ return createFloatingIpAdapter();
+ }
+ @Override
+ public Adapter caseSecurityGroup(SecurityGroup object) {
+ return createSecurityGroupAdapter();
+ }
+ @Override
+ public Adapter caseSecurityRule(SecurityRule object) {
+ return createSecurityRuleAdapter();
+ }
+ @Override
+ public Adapter caseSecurityRange(SecurityRange object) {
+ return createSecurityRangeAdapter();
+ }
+ @Override
+ public Adapter caseKeyPair(KeyPair object) {
+ return createKeyPairAdapter();
+ }
+ @Override
+ public Adapter caseOpenStackRequest(OpenStackRequest object) {
+ return createOpenStackRequestAdapter();
+ }
+ @Override
+ public Adapter caseNamedEntity(NamedEntity object) {
+ return createNamedEntityAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.ComputeService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService
+ * @generated
+ */
+ public Adapter createComputeServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer <em>Openstack Request New Server</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer
+ * @generated
+ */
+ public Adapter createOpenstackRequestNewServerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair <em>Openstack Request Key Pair</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair
+ * @generated
+ */
+ public Adapter createOpenstackRequestKeyPairAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor <em>Openstack Request Flavor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor
+ * @generated
+ */
+ public Adapter createOpenstackRequestFlavorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup <em>Openstack Request Security Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup
+ * @generated
+ */
+ public Adapter createOpenstackRequestSecurityGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction <em>Openstack Request Server Action</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction
+ * @generated
+ */
+ public Adapter createOpenstackRequestServerActionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.OpenstackRequestPoll <em>Openstack Request Poll</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.OpenstackRequestPoll
+ * @generated
+ */
+ public Adapter createOpenstackRequestPollAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Server <em>Server</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Server
+ * @generated
+ */
+ public Adapter createServerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Image
+ * @generated
+ */
+ public Adapter createImageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Flavor <em>Flavor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Flavor
+ * @generated
+ */
+ public Adapter createFlavorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Addresses <em>Addresses</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Addresses
+ * @generated
+ */
+ public Adapter createAddressesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Address <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Address
+ * @generated
+ */
+ public Adapter createAddressAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Link <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Link
+ * @generated
+ */
+ public Adapter createLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Metadata <em>Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Metadata
+ * @generated
+ */
+ public Adapter createMetadataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Fault <em>Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Fault
+ * @generated
+ */
+ public Adapter createFaultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Personality <em>Personality</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Personality
+ * @generated
+ */
+ public Adapter createPersonalityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Reference <em>Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Reference
+ * @generated
+ */
+ public Adapter createReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.Volume <em>Volume</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.Volume
+ * @generated
+ */
+ public Adapter createVolumeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.VolumeAttachment <em>Volume Attachment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.VolumeAttachment
+ * @generated
+ */
+ public Adapter createVolumeAttachmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.FloatingIp <em>Floating Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.FloatingIp
+ * @generated
+ */
+ public Adapter createFloatingIpAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.SecurityGroup <em>Security Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityGroup
+ * @generated
+ */
+ public Adapter createSecurityGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.SecurityRule <em>Security Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRule
+ * @generated
+ */
+ public Adapter createSecurityRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.SecurityRange <em>Security Range</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.SecurityRange
+ * @generated
+ */
+ public Adapter createSecurityRangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.KeyPair <em>Key Pair</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.KeyPair
+ * @generated
+ */
+ public Adapter createKeyPairAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest <em>Open Stack Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.OpenStackRequest
+ * @generated
+ */
+ public Adapter createOpenStackRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.core.NamedEntity <em>Named Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.core.NamedEntity
+ * @generated
+ */
+ public Adapter createNamedEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ComputeAdapterFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeSwitch.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeSwitch.java
new file mode 100644
index 0000000..4eba2cb
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/compute/util/ComputeSwitch.java
@@ -0,0 +1,656 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.compute.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.compute.*;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.compute.ComputePackage
+ * @generated
+ */
+public class ComputeSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ComputePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputeSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ComputePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ComputePackage.COMPUTE_SERVICE: {
+ ComputeService computeService = (ComputeService)theEObject;
+ T result = caseComputeService(computeService);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.OPENSTACK_REQUEST_NEW_SERVER: {
+ OpenstackRequestNewServer openstackRequestNewServer = (OpenstackRequestNewServer)theEObject;
+ T result = caseOpenstackRequestNewServer(openstackRequestNewServer);
+ if (result == null) result = caseOpenStackRequest(openstackRequestNewServer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.OPENSTACK_REQUEST_KEY_PAIR: {
+ OpenstackRequestKeyPair openstackRequestKeyPair = (OpenstackRequestKeyPair)theEObject;
+ T result = caseOpenstackRequestKeyPair(openstackRequestKeyPair);
+ if (result == null) result = caseOpenStackRequest(openstackRequestKeyPair);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.OPENSTACK_REQUEST_FLAVOR: {
+ OpenstackRequestFlavor openstackRequestFlavor = (OpenstackRequestFlavor)theEObject;
+ T result = caseOpenstackRequestFlavor(openstackRequestFlavor);
+ if (result == null) result = caseOpenStackRequest(openstackRequestFlavor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.OPENSTACK_REQUEST_SECURITY_GROUP: {
+ OpenstackRequestSecurityGroup openstackRequestSecurityGroup = (OpenstackRequestSecurityGroup)theEObject;
+ T result = caseOpenstackRequestSecurityGroup(openstackRequestSecurityGroup);
+ if (result == null) result = caseOpenStackRequest(openstackRequestSecurityGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.OPENSTACK_REQUEST_SERVER_ACTION: {
+ OpenstackRequestServerAction openstackRequestServerAction = (OpenstackRequestServerAction)theEObject;
+ T result = caseOpenstackRequestServerAction(openstackRequestServerAction);
+ if (result == null) result = caseOpenStackRequest(openstackRequestServerAction);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.OPENSTACK_REQUEST_POLL: {
+ OpenstackRequestPoll openstackRequestPoll = (OpenstackRequestPoll)theEObject;
+ T result = caseOpenstackRequestPoll(openstackRequestPoll);
+ if (result == null) result = caseOpenStackRequest(openstackRequestPoll);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.SERVER: {
+ Server server = (Server)theEObject;
+ T result = caseServer(server);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.IMAGE: {
+ Image image = (Image)theEObject;
+ T result = caseImage(image);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.FLAVOR: {
+ Flavor flavor = (Flavor)theEObject;
+ T result = caseFlavor(flavor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.ADDRESSES: {
+ Addresses addresses = (Addresses)theEObject;
+ T result = caseAddresses(addresses);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.ADDRESS: {
+ Address address = (Address)theEObject;
+ T result = caseAddress(address);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.LINK: {
+ Link link = (Link)theEObject;
+ T result = caseLink(link);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.METADATA: {
+ Metadata metadata = (Metadata)theEObject;
+ T result = caseMetadata(metadata);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.FAULT: {
+ Fault fault = (Fault)theEObject;
+ T result = caseFault(fault);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.PERSONALITY: {
+ Personality personality = (Personality)theEObject;
+ T result = casePersonality(personality);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.REFERENCE: {
+ Reference reference = (Reference)theEObject;
+ T result = caseReference(reference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.VOLUME: {
+ Volume volume = (Volume)theEObject;
+ T result = caseVolume(volume);
+ if (result == null) result = caseNamedEntity(volume);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.VOLUME_ATTACHMENT: {
+ VolumeAttachment volumeAttachment = (VolumeAttachment)theEObject;
+ T result = caseVolumeAttachment(volumeAttachment);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.FLOATING_IP: {
+ FloatingIp floatingIp = (FloatingIp)theEObject;
+ T result = caseFloatingIp(floatingIp);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.SECURITY_GROUP: {
+ SecurityGroup securityGroup = (SecurityGroup)theEObject;
+ T result = caseSecurityGroup(securityGroup);
+ if (result == null) result = caseNamedEntity(securityGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.SECURITY_RULE: {
+ SecurityRule securityRule = (SecurityRule)theEObject;
+ T result = caseSecurityRule(securityRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.SECURITY_RANGE: {
+ SecurityRange securityRange = (SecurityRange)theEObject;
+ T result = caseSecurityRange(securityRange);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ComputePackage.KEY_PAIR: {
+ KeyPair keyPair = (KeyPair)theEObject;
+ T result = caseKeyPair(keyPair);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComputeService(ComputeService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request New Server</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request New Server</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestNewServer(OpenstackRequestNewServer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Key Pair</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Key Pair</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestKeyPair(OpenstackRequestKeyPair object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Flavor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Flavor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestFlavor(OpenstackRequestFlavor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Security Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Security Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestSecurityGroup(OpenstackRequestSecurityGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Server Action</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Server Action</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestServerAction(OpenstackRequestServerAction object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Poll</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Poll</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestPoll(OpenstackRequestPoll object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Server</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Server</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseServer(Server object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Image</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImage(Image object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Flavor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Flavor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFlavor(Flavor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Addresses</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Addresses</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAddresses(Addresses object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Address</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Address</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAddress(Address object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLink(Link object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Metadata</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Metadata</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetadata(Metadata object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fault</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fault</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFault(Fault object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Personality</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Personality</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePersonality(Personality object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReference(Reference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Volume</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Volume</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVolume(Volume object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Volume Attachment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Volume Attachment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVolumeAttachment(VolumeAttachment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Floating Ip</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Floating Ip</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFloatingIp(FloatingIp object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecurityGroup(SecurityGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Rule</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecurityRule(SecurityRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Range</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Range</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecurityRange(SecurityRange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Key Pair</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Key Pair</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseKeyPair(KeyPair object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackRequest(OpenStackRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedEntity(NamedEntity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ComputeSwitch
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CoreFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CoreFactory.java
new file mode 100644
index 0000000..6724e3c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CoreFactory.java
@@ -0,0 +1,90 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.CorePackage
+ * @generated
+ */
+public interface CoreFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CoreFactory eINSTANCE = org.openecomp.ncomp.openstack.core.impl.CoreFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Delete</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Delete</em>'.
+ * @generated
+ */
+ OpenstackRequestDelete createOpenstackRequestDelete();
+
+ /**
+ * Returns a new object of class '<em>Openstack Request Poll</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Openstack Request Poll</em>'.
+ * @generated
+ */
+ OpenstackRequestPoll createOpenstackRequestPoll();
+
+ /**
+ * Returns a new object of class '<em>Virtual Machine Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Virtual Machine Type</em>'.
+ * @generated
+ */
+ VirtualMachineType createVirtualMachineType();
+
+ /**
+ * Returns a new object of class '<em>Security Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Rule</em>'.
+ * @generated
+ */
+ SecurityRule createSecurityRule();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ CorePackage getCorePackage();
+
+} //CoreFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CorePackage.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CorePackage.java
new file mode 100644
index 0000000..a67d8db
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/CorePackage.java
@@ -0,0 +1,999 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.CoreFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/ncomp-openstack-model/src/main/xcore-gen' basePackage='org.openecomp.ncomp.openstack'"
+ * @generated
+ */
+public interface CorePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "core";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.ncomp.openstack.core";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "core";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CorePackage eINSTANCE = org.openecomp.ncomp.openstack.core.impl.CorePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl <em>Open Stack Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getOpenStackRequest()
+ * @generated
+ */
+ int OPEN_STACK_REQUEST = 0;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_REQUEST__PROJECT_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Open Stack Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_REQUEST_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Open Stack Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_REQUEST_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.core.impl.OpenstackRequestDeleteImpl <em>Openstack Request Delete</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.OpenstackRequestDeleteImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getOpenstackRequestDelete()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_DELETE = 1;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_DELETE__PROJECT_NAME = OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Object Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_DELETE__OBJECT_TYPE = OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Object Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_DELETE__OBJECT_NAME = OPEN_STACK_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Delete</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_DELETE_FEATURE_COUNT = OPEN_STACK_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Delete</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_DELETE_OPERATION_COUNT = OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.core.impl.OpenstackRequestPollImpl <em>Openstack Request Poll</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.OpenstackRequestPollImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getOpenstackRequestPoll()
+ * @generated
+ */
+ int OPENSTACK_REQUEST_POLL = 2;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_POLL__PROJECT_NAME = OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The number of structural features of the '<em>Openstack Request Poll</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_POLL_FEATURE_COUNT = OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Openstack Request Poll</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPENSTACK_REQUEST_POLL_OPERATION_COUNT = OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl <em>Virtual Machine Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getVirtualMachineType()
+ * @generated
+ */
+ int VIRTUAL_MACHINE_TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__LAST_POLLED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__LAST_CHANGED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__CREATED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__DESCRIPTION = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Number Of Cores</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Memory Size MB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Root Disk Size GB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Disk Size GB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Volume Size GB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Image Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__IMAGE_NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Flavor Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__FLAVOR_NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Need Public Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Deployment Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Incoming Security Rules</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Outbound Security Rules</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Virtual Machine Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE_FEATURE_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 12;
+
+ /**
+ * The number of operations of the '<em>Virtual Machine Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIRTUAL_MACHINE_TYPE_OPERATION_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl <em>Security Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getSecurityRule()
+ * @generated
+ */
+ int SECURITY_RULE = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__NAME = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__LAST_POLLED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__LAST_CHANGED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__CREATED = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Port Range Start</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__PORT_RANGE_START = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Port Range End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__PORT_RANGE_END = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__PREFIX = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Ip Protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE__IP_PROTOCOL = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Security Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE_FEATURE_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Security Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_RULE_OPERATION_COUNT = org.openecomp.ncomp.core.CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.core.SecurityRuleProtocol <em>Security Rule Protocol</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.SecurityRuleProtocol
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getSecurityRuleProtocol()
+ * @generated
+ */
+ int SECURITY_RULE_PROTOCOL = 5;
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest <em>Open Stack Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Open Stack Request</em>'.
+ * @see org.openecomp.ncomp.openstack.core.OpenStackRequest
+ * @generated
+ */
+ EClass getOpenStackRequest();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest#getProjectName <em>Project Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Project Name</em>'.
+ * @see org.openecomp.ncomp.openstack.core.OpenStackRequest#getProjectName()
+ * @see #getOpenStackRequest()
+ * @generated
+ */
+ EAttribute getOpenStackRequest_ProjectName();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete <em>Openstack Request Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Delete</em>'.
+ * @see org.openecomp.ncomp.openstack.core.OpenstackRequestDelete
+ * @generated
+ */
+ EClass getOpenstackRequestDelete();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectType <em>Object Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Object Type</em>'.
+ * @see org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectType()
+ * @see #getOpenstackRequestDelete()
+ * @generated
+ */
+ EAttribute getOpenstackRequestDelete_ObjectType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectName <em>Object Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Object Name</em>'.
+ * @see org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectName()
+ * @see #getOpenstackRequestDelete()
+ * @generated
+ */
+ EAttribute getOpenstackRequestDelete_ObjectName();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestPoll <em>Openstack Request Poll</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Openstack Request Poll</em>'.
+ * @see org.openecomp.ncomp.openstack.core.OpenstackRequestPoll
+ * @generated
+ */
+ EClass getOpenstackRequestPoll();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType <em>Virtual Machine Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Virtual Machine Type</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType
+ * @generated
+ */
+ EClass getVirtualMachineType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getDescription()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_Description();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getNumberOfCores <em>Number Of Cores</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Number Of Cores</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getNumberOfCores()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_NumberOfCores();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getMemorySizeMB <em>Memory Size MB</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Memory Size MB</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getMemorySizeMB()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_MemorySizeMB();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getRootDiskSizeGB <em>Root Disk Size GB</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Root Disk Size GB</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getRootDiskSizeGB()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_RootDiskSizeGB();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDiskSizeGB <em>Disk Size GB</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Disk Size GB</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getDiskSizeGB()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_DiskSizeGB();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getVolumeSizeGB <em>Volume Size GB</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Volume Size GB</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getVolumeSizeGB()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_VolumeSizeGB();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getImageName <em>Image Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Image Name</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getImageName()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_ImageName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getFlavorName <em>Flavor Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Flavor Name</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getFlavorName()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_FlavorName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#isNeedPublicIp <em>Need Public Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Need Public Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#isNeedPublicIp()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_NeedPublicIp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDeploymentStatus <em>Deployment Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Deployment Status</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getDeploymentStatus()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EAttribute getVirtualMachineType_DeploymentStatus();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getIncomingSecurityRules <em>Incoming Security Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Incoming Security Rules</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getIncomingSecurityRules()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EReference getVirtualMachineType_IncomingSecurityRules();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getOutboundSecurityRules <em>Outbound Security Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Outbound Security Rules</em>'.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType#getOutboundSecurityRules()
+ * @see #getVirtualMachineType()
+ * @generated
+ */
+ EReference getVirtualMachineType_OutboundSecurityRules();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.core.SecurityRule <em>Security Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Rule</em>'.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRule
+ * @generated
+ */
+ EClass getSecurityRule();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeStart <em>Port Range Start</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port Range Start</em>'.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeStart()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_PortRangeStart();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeEnd <em>Port Range End</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port Range End</em>'.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeEnd()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_PortRangeEnd();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPrefix <em>Prefix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Prefix</em>'.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRule#getPrefix()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_Prefix();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getIpProtocol <em>Ip Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ip Protocol</em>'.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRule#getIpProtocol()
+ * @see #getSecurityRule()
+ * @generated
+ */
+ EAttribute getSecurityRule_IpProtocol();
+
+ /**
+ * Returns the meta object for enum '{@link org.openecomp.ncomp.openstack.core.SecurityRuleProtocol <em>Security Rule Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Security Rule Protocol</em>'.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRuleProtocol
+ * @generated
+ */
+ EEnum getSecurityRuleProtocol();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ CoreFactory getCoreFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl <em>Open Stack Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getOpenStackRequest()
+ * @generated
+ */
+ EClass OPEN_STACK_REQUEST = eINSTANCE.getOpenStackRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Project Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_REQUEST__PROJECT_NAME = eINSTANCE.getOpenStackRequest_ProjectName();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.core.impl.OpenstackRequestDeleteImpl <em>Openstack Request Delete</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.OpenstackRequestDeleteImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getOpenstackRequestDelete()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_DELETE = eINSTANCE.getOpenstackRequestDelete();
+
+ /**
+ * The meta object literal for the '<em><b>Object Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_DELETE__OBJECT_TYPE = eINSTANCE.getOpenstackRequestDelete_ObjectType();
+
+ /**
+ * The meta object literal for the '<em><b>Object Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPENSTACK_REQUEST_DELETE__OBJECT_NAME = eINSTANCE.getOpenstackRequestDelete_ObjectName();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.core.impl.OpenstackRequestPollImpl <em>Openstack Request Poll</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.OpenstackRequestPollImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getOpenstackRequestPoll()
+ * @generated
+ */
+ EClass OPENSTACK_REQUEST_POLL = eINSTANCE.getOpenstackRequestPoll();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl <em>Virtual Machine Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getVirtualMachineType()
+ * @generated
+ */
+ EClass VIRTUAL_MACHINE_TYPE = eINSTANCE.getVirtualMachineType();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__DESCRIPTION = eINSTANCE.getVirtualMachineType_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Number Of Cores</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES = eINSTANCE.getVirtualMachineType_NumberOfCores();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Size MB</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB = eINSTANCE.getVirtualMachineType_MemorySizeMB();
+
+ /**
+ * The meta object literal for the '<em><b>Root Disk Size GB</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB = eINSTANCE.getVirtualMachineType_RootDiskSizeGB();
+
+ /**
+ * The meta object literal for the '<em><b>Disk Size GB</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB = eINSTANCE.getVirtualMachineType_DiskSizeGB();
+
+ /**
+ * The meta object literal for the '<em><b>Volume Size GB</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB = eINSTANCE.getVirtualMachineType_VolumeSizeGB();
+
+ /**
+ * The meta object literal for the '<em><b>Image Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__IMAGE_NAME = eINSTANCE.getVirtualMachineType_ImageName();
+
+ /**
+ * The meta object literal for the '<em><b>Flavor Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__FLAVOR_NAME = eINSTANCE.getVirtualMachineType_FlavorName();
+
+ /**
+ * The meta object literal for the '<em><b>Need Public Ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP = eINSTANCE.getVirtualMachineType_NeedPublicIp();
+
+ /**
+ * The meta object literal for the '<em><b>Deployment Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS = eINSTANCE.getVirtualMachineType_DeploymentStatus();
+
+ /**
+ * The meta object literal for the '<em><b>Incoming Security Rules</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES = eINSTANCE.getVirtualMachineType_IncomingSecurityRules();
+
+ /**
+ * The meta object literal for the '<em><b>Outbound Security Rules</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES = eINSTANCE.getVirtualMachineType_OutboundSecurityRules();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl <em>Security Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getSecurityRule()
+ * @generated
+ */
+ EClass SECURITY_RULE = eINSTANCE.getSecurityRule();
+
+ /**
+ * The meta object literal for the '<em><b>Port Range Start</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__PORT_RANGE_START = eINSTANCE.getSecurityRule_PortRangeStart();
+
+ /**
+ * The meta object literal for the '<em><b>Port Range End</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__PORT_RANGE_END = eINSTANCE.getSecurityRule_PortRangeEnd();
+
+ /**
+ * The meta object literal for the '<em><b>Prefix</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__PREFIX = eINSTANCE.getSecurityRule_Prefix();
+
+ /**
+ * The meta object literal for the '<em><b>Ip Protocol</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECURITY_RULE__IP_PROTOCOL = eINSTANCE.getSecurityRule_IpProtocol();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.core.SecurityRuleProtocol <em>Security Rule Protocol</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.SecurityRuleProtocol
+ * @see org.openecomp.ncomp.openstack.core.impl.CorePackageImpl#getSecurityRuleProtocol()
+ * @generated
+ */
+ EEnum SECURITY_RULE_PROTOCOL = eINSTANCE.getSecurityRuleProtocol();
+
+ }
+
+} //CorePackage
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenStackRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenStackRequest.java
new file mode 100644
index 0000000..9bd9329
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenStackRequest.java
@@ -0,0 +1,71 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Open Stack Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.OpenStackRequest#getProjectName <em>Project Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getOpenStackRequest()
+ * @model abstract="true"
+ * @generated
+ */
+public interface OpenStackRequest extends EObject {
+ /**
+ * Returns the value of the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Project Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Project Name</em>' attribute.
+ * @see #setProjectName(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getOpenStackRequest_ProjectName()
+ * @model unique="false"
+ * @generated
+ */
+ String getProjectName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest#getProjectName <em>Project Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Project Name</em>' attribute.
+ * @see #getProjectName()
+ * @generated
+ */
+ void setProjectName(String value);
+
+} // OpenStackRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestDelete.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestDelete.java
new file mode 100644
index 0000000..ec7b0ba
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestDelete.java
@@ -0,0 +1,97 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Delete</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectType <em>Object Type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectName <em>Object Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getOpenstackRequestDelete()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestDelete extends OpenStackRequest {
+ /**
+ * Returns the value of the '<em><b>Object Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object Type</em>' attribute.
+ * @see #setObjectType(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getOpenstackRequestDelete_ObjectType()
+ * @model unique="false"
+ * @generated
+ */
+ String getObjectType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectType <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type</em>' attribute.
+ * @see #getObjectType()
+ * @generated
+ */
+ void setObjectType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Object Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object Name</em>' attribute.
+ * @see #setObjectName(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getOpenstackRequestDelete_ObjectName()
+ * @model unique="false"
+ * @generated
+ */
+ String getObjectName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete#getObjectName <em>Object Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Name</em>' attribute.
+ * @see #getObjectName()
+ * @generated
+ */
+ void setObjectName(String value);
+
+} // OpenstackRequestDelete
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestPoll.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestPoll.java
new file mode 100644
index 0000000..2b7db9a
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/OpenstackRequestPoll.java
@@ -0,0 +1,38 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Openstack Request Poll</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getOpenstackRequestPoll()
+ * @model
+ * @generated
+ */
+public interface OpenstackRequestPoll extends OpenStackRequest {
+} // OpenstackRequestPoll
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRule.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRule.java
new file mode 100644
index 0000000..ed5b13c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRule.java
@@ -0,0 +1,155 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeStart <em>Port Range Start</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeEnd <em>Port Range End</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPrefix <em>Prefix</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.SecurityRule#getIpProtocol <em>Ip Protocol</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getSecurityRule()
+ * @model
+ * @generated
+ */
+public interface SecurityRule extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Port Range Start</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port Range Start</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port Range Start</em>' attribute.
+ * @see #setPortRangeStart(Integer)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getSecurityRule_PortRangeStart()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getPortRangeStart();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeStart <em>Port Range Start</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port Range Start</em>' attribute.
+ * @see #getPortRangeStart()
+ * @generated
+ */
+ void setPortRangeStart(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Port Range End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port Range End</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port Range End</em>' attribute.
+ * @see #setPortRangeEnd(Integer)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getSecurityRule_PortRangeEnd()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getPortRangeEnd();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPortRangeEnd <em>Port Range End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port Range End</em>' attribute.
+ * @see #getPortRangeEnd()
+ * @generated
+ */
+ void setPortRangeEnd(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Prefix</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Prefix</em>' attribute.
+ * @see #setPrefix(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getSecurityRule_Prefix()
+ * @model unique="false"
+ * @generated
+ */
+ String getPrefix();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getPrefix <em>Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Prefix</em>' attribute.
+ * @see #getPrefix()
+ * @generated
+ */
+ void setPrefix(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ip Protocol</b></em>' attribute.
+ * The literals are from the enumeration {@link org.openecomp.ncomp.openstack.core.SecurityRuleProtocol}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip Protocol</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip Protocol</em>' attribute.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRuleProtocol
+ * @see #setIpProtocol(SecurityRuleProtocol)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getSecurityRule_IpProtocol()
+ * @model unique="false"
+ * @generated
+ */
+ SecurityRuleProtocol getIpProtocol();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.SecurityRule#getIpProtocol <em>Ip Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip Protocol</em>' attribute.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRuleProtocol
+ * @see #getIpProtocol()
+ * @generated
+ */
+ void setIpProtocol(SecurityRuleProtocol value);
+
+} // SecurityRule
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRuleProtocol.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRuleProtocol.java
new file mode 100644
index 0000000..1650fbb
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/SecurityRuleProtocol.java
@@ -0,0 +1,283 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Security Rule Protocol</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getSecurityRuleProtocol()
+ * @model
+ * @generated
+ */
+public enum SecurityRuleProtocol implements Enumerator {
+ /**
+ * The '<em><b>None</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(1000, "none", "none"),
+
+ /**
+ * The '<em><b>Tcp</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TCP_VALUE
+ * @generated
+ * @ordered
+ */
+ TCP(17, "tcp", "tcp"),
+
+ /**
+ * The '<em><b>Udp</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UDP_VALUE
+ * @generated
+ * @ordered
+ */
+ UDP(6, "udp", "udp"),
+
+ /**
+ * The '<em><b>Imcp</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IMCP_VALUE
+ * @generated
+ * @ordered
+ */
+ IMCP(0, "imcp", "imcp");
+
+ /**
+ * The '<em><b>None</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model name="none"
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 1000;
+
+ /**
+ * The '<em><b>Tcp</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Tcp</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TCP
+ * @model name="tcp"
+ * @generated
+ * @ordered
+ */
+ public static final int TCP_VALUE = 17;
+
+ /**
+ * The '<em><b>Udp</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Udp</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UDP
+ * @model name="udp"
+ * @generated
+ * @ordered
+ */
+ public static final int UDP_VALUE = 6;
+
+ /**
+ * The '<em><b>Imcp</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Imcp</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IMCP
+ * @model name="imcp"
+ * @generated
+ * @ordered
+ */
+ public static final int IMCP_VALUE = 0;
+
+ /**
+ * An array of all the '<em><b>Security Rule Protocol</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final SecurityRuleProtocol[] VALUES_ARRAY =
+ new SecurityRuleProtocol[] {
+ NONE,
+ TCP,
+ UDP,
+ IMCP,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Security Rule Protocol</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<SecurityRuleProtocol> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Security Rule Protocol</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SecurityRuleProtocol get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ SecurityRuleProtocol result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Security Rule Protocol</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SecurityRuleProtocol getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ SecurityRuleProtocol result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Security Rule Protocol</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SecurityRuleProtocol get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case TCP_VALUE: return TCP;
+ case UDP_VALUE: return UDP;
+ case IMCP_VALUE: return IMCP;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private SecurityRuleProtocol(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //SecurityRuleProtocol
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/VirtualMachineType.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/VirtualMachineType.java
new file mode 100644
index 0000000..131f6e8
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/VirtualMachineType.java
@@ -0,0 +1,354 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core;
+
+import org.openecomp.ncomp.core.DeploymentStatus;
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Virtual Machine Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getNumberOfCores <em>Number Of Cores</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getMemorySizeMB <em>Memory Size MB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getRootDiskSizeGB <em>Root Disk Size GB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDiskSizeGB <em>Disk Size GB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getVolumeSizeGB <em>Volume Size GB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getImageName <em>Image Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getFlavorName <em>Flavor Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#isNeedPublicIp <em>Need Public Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDeploymentStatus <em>Deployment Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getIncomingSecurityRules <em>Incoming Security Rules</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getOutboundSecurityRules <em>Outbound Security Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType()
+ * @model
+ * @generated
+ */
+public interface VirtualMachineType extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_Description()
+ * @model unique="false"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Number Of Cores</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Number Of Cores</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Number Of Cores</em>' attribute.
+ * @see #setNumberOfCores(int)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_NumberOfCores()
+ * @model unique="false"
+ * @generated
+ */
+ int getNumberOfCores();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getNumberOfCores <em>Number Of Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Number Of Cores</em>' attribute.
+ * @see #getNumberOfCores()
+ * @generated
+ */
+ void setNumberOfCores(int value);
+
+ /**
+ * Returns the value of the '<em><b>Memory Size MB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Size MB</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Size MB</em>' attribute.
+ * @see #setMemorySizeMB(int)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_MemorySizeMB()
+ * @model unique="false"
+ * @generated
+ */
+ int getMemorySizeMB();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getMemorySizeMB <em>Memory Size MB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Memory Size MB</em>' attribute.
+ * @see #getMemorySizeMB()
+ * @generated
+ */
+ void setMemorySizeMB(int value);
+
+ /**
+ * Returns the value of the '<em><b>Root Disk Size GB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root Disk Size GB</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Root Disk Size GB</em>' attribute.
+ * @see #setRootDiskSizeGB(int)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_RootDiskSizeGB()
+ * @model unique="false"
+ * @generated
+ */
+ int getRootDiskSizeGB();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getRootDiskSizeGB <em>Root Disk Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Root Disk Size GB</em>' attribute.
+ * @see #getRootDiskSizeGB()
+ * @generated
+ */
+ void setRootDiskSizeGB(int value);
+
+ /**
+ * Returns the value of the '<em><b>Disk Size GB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Disk Size GB</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Disk Size GB</em>' attribute.
+ * @see #setDiskSizeGB(int)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_DiskSizeGB()
+ * @model unique="false"
+ * @generated
+ */
+ int getDiskSizeGB();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDiskSizeGB <em>Disk Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Disk Size GB</em>' attribute.
+ * @see #getDiskSizeGB()
+ * @generated
+ */
+ void setDiskSizeGB(int value);
+
+ /**
+ * Returns the value of the '<em><b>Volume Size GB</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Volume Size GB</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Volume Size GB</em>' attribute.
+ * @see #setVolumeSizeGB(int)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_VolumeSizeGB()
+ * @model unique="false"
+ * @generated
+ */
+ int getVolumeSizeGB();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getVolumeSizeGB <em>Volume Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Volume Size GB</em>' attribute.
+ * @see #getVolumeSizeGB()
+ * @generated
+ */
+ void setVolumeSizeGB(int value);
+
+ /**
+ * Returns the value of the '<em><b>Image Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Image Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Image Name</em>' attribute.
+ * @see #setImageName(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_ImageName()
+ * @model unique="false"
+ * @generated
+ */
+ String getImageName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getImageName <em>Image Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Image Name</em>' attribute.
+ * @see #getImageName()
+ * @generated
+ */
+ void setImageName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Flavor Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flavor Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flavor Name</em>' attribute.
+ * @see #setFlavorName(String)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_FlavorName()
+ * @model unique="false"
+ * @generated
+ */
+ String getFlavorName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getFlavorName <em>Flavor Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Flavor Name</em>' attribute.
+ * @see #getFlavorName()
+ * @generated
+ */
+ void setFlavorName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Need Public Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Need Public Ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Need Public Ip</em>' attribute.
+ * @see #setNeedPublicIp(boolean)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_NeedPublicIp()
+ * @model unique="false"
+ * @generated
+ */
+ boolean isNeedPublicIp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#isNeedPublicIp <em>Need Public Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Need Public Ip</em>' attribute.
+ * @see #isNeedPublicIp()
+ * @generated
+ */
+ void setNeedPublicIp(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Deployment Status</b></em>' attribute.
+ * The literals are from the enumeration {@link org.openecomp.ncomp.core.DeploymentStatus}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Deployment Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Deployment Status</em>' attribute.
+ * @see org.openecomp.ncomp.core.DeploymentStatus
+ * @see #setDeploymentStatus(DeploymentStatus)
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_DeploymentStatus()
+ * @model unique="false"
+ * @generated
+ */
+ DeploymentStatus getDeploymentStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType#getDeploymentStatus <em>Deployment Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Deployment Status</em>' attribute.
+ * @see org.openecomp.ncomp.core.DeploymentStatus
+ * @see #getDeploymentStatus()
+ * @generated
+ */
+ void setDeploymentStatus(DeploymentStatus value);
+
+ /**
+ * Returns the value of the '<em><b>Incoming Security Rules</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.core.SecurityRule}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Incoming Security Rules</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Incoming Security Rules</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_IncomingSecurityRules()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SecurityRule> getIncomingSecurityRules();
+
+ /**
+ * Returns the value of the '<em><b>Outbound Security Rules</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.core.SecurityRule}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Outbound Security Rules</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Outbound Security Rules</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#getVirtualMachineType_OutboundSecurityRules()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SecurityRule> getOutboundSecurityRules();
+
+} // VirtualMachineType
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CoreFactoryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CoreFactoryImpl.java
new file mode 100644
index 0000000..e01fe4f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CoreFactoryImpl.java
@@ -0,0 +1,200 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.openstack.core.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoreFactoryImpl extends EFactoryImpl implements CoreFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CoreFactory init() {
+ try {
+ CoreFactory theCoreFactory = (CoreFactory)EPackage.Registry.INSTANCE.getEFactory(CorePackage.eNS_URI);
+ if (theCoreFactory != null) {
+ return theCoreFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new CoreFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CoreFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case CorePackage.OPENSTACK_REQUEST_DELETE: return createOpenstackRequestDelete();
+ case CorePackage.OPENSTACK_REQUEST_POLL: return createOpenstackRequestPoll();
+ case CorePackage.VIRTUAL_MACHINE_TYPE: return createVirtualMachineType();
+ case CorePackage.SECURITY_RULE: return createSecurityRule();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case CorePackage.SECURITY_RULE_PROTOCOL:
+ return createSecurityRuleProtocolFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case CorePackage.SECURITY_RULE_PROTOCOL:
+ return convertSecurityRuleProtocolToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestDelete createOpenstackRequestDelete() {
+ OpenstackRequestDeleteImpl openstackRequestDelete = new OpenstackRequestDeleteImpl();
+ return openstackRequestDelete;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackRequestPoll createOpenstackRequestPoll() {
+ OpenstackRequestPollImpl openstackRequestPoll = new OpenstackRequestPollImpl();
+ return openstackRequestPoll;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VirtualMachineType createVirtualMachineType() {
+ VirtualMachineTypeImpl virtualMachineType = new VirtualMachineTypeImpl();
+ return virtualMachineType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityRule createSecurityRule() {
+ SecurityRuleImpl securityRule = new SecurityRuleImpl();
+ return securityRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityRuleProtocol createSecurityRuleProtocolFromString(EDataType eDataType, String initialValue) {
+ SecurityRuleProtocol result = SecurityRuleProtocol.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertSecurityRuleProtocolToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorePackage getCorePackage() {
+ return (CorePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static CorePackage getPackage() {
+ return CorePackage.eINSTANCE;
+ }
+
+} //CoreFactoryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CorePackageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CorePackageImpl.java
new file mode 100644
index 0000000..220d828
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/CorePackageImpl.java
@@ -0,0 +1,519 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.openstack.core.CoreFactory;
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestPoll;
+import org.openecomp.ncomp.openstack.core.SecurityRule;
+import org.openecomp.ncomp.openstack.core.SecurityRuleProtocol;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CorePackageImpl extends EPackageImpl implements CorePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openStackRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestDeleteEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openstackRequestPollEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass virtualMachineTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securityRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum securityRuleProtocolEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.ncomp.openstack.core.CorePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private CorePackageImpl() {
+ super(eNS_URI, CoreFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link CorePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static CorePackage init() {
+ if (isInited) return (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+
+ // Obtain or create and register package
+ CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CorePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ org.openecomp.ncomp.core.CorePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theCorePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theCorePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theCorePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(CorePackage.eNS_URI, theCorePackage);
+ return theCorePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenStackRequest() {
+ return openStackRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackRequest_ProjectName() {
+ return (EAttribute)openStackRequestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestDelete() {
+ return openstackRequestDeleteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestDelete_ObjectType() {
+ return (EAttribute)openstackRequestDeleteEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenstackRequestDelete_ObjectName() {
+ return (EAttribute)openstackRequestDeleteEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenstackRequestPoll() {
+ return openstackRequestPollEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVirtualMachineType() {
+ return virtualMachineTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_Description() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_NumberOfCores() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_MemorySizeMB() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_RootDiskSizeGB() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_DiskSizeGB() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_VolumeSizeGB() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_ImageName() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_FlavorName() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_NeedPublicIp() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVirtualMachineType_DeploymentStatus() {
+ return (EAttribute)virtualMachineTypeEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVirtualMachineType_IncomingSecurityRules() {
+ return (EReference)virtualMachineTypeEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVirtualMachineType_OutboundSecurityRules() {
+ return (EReference)virtualMachineTypeEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecurityRule() {
+ return securityRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_PortRangeStart() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_PortRangeEnd() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_Prefix() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecurityRule_IpProtocol() {
+ return (EAttribute)securityRuleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getSecurityRuleProtocol() {
+ return securityRuleProtocolEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CoreFactory getCoreFactory() {
+ return (CoreFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ openStackRequestEClass = createEClass(OPEN_STACK_REQUEST);
+ createEAttribute(openStackRequestEClass, OPEN_STACK_REQUEST__PROJECT_NAME);
+
+ openstackRequestDeleteEClass = createEClass(OPENSTACK_REQUEST_DELETE);
+ createEAttribute(openstackRequestDeleteEClass, OPENSTACK_REQUEST_DELETE__OBJECT_TYPE);
+ createEAttribute(openstackRequestDeleteEClass, OPENSTACK_REQUEST_DELETE__OBJECT_NAME);
+
+ openstackRequestPollEClass = createEClass(OPENSTACK_REQUEST_POLL);
+
+ virtualMachineTypeEClass = createEClass(VIRTUAL_MACHINE_TYPE);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__DESCRIPTION);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__IMAGE_NAME);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__FLAVOR_NAME);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP);
+ createEAttribute(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS);
+ createEReference(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES);
+ createEReference(virtualMachineTypeEClass, VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES);
+
+ securityRuleEClass = createEClass(SECURITY_RULE);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__PORT_RANGE_START);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__PORT_RANGE_END);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__PREFIX);
+ createEAttribute(securityRuleEClass, SECURITY_RULE__IP_PROTOCOL);
+
+ // Create enums
+ securityRuleProtocolEEnum = createEEnum(SECURITY_RULE_PROTOCOL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ org.openecomp.ncomp.core.CorePackage theCorePackage_1 = (org.openecomp.ncomp.core.CorePackage)EPackage.Registry.INSTANCE.getEPackage(org.openecomp.ncomp.core.CorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ openstackRequestDeleteEClass.getESuperTypes().add(this.getOpenStackRequest());
+ openstackRequestPollEClass.getESuperTypes().add(this.getOpenStackRequest());
+ virtualMachineTypeEClass.getESuperTypes().add(theCorePackage_1.getNamedEntity());
+ securityRuleEClass.getESuperTypes().add(theCorePackage_1.getNamedEntity());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(openStackRequestEClass, OpenStackRequest.class, "OpenStackRequest", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenStackRequest_ProjectName(), theEcorePackage.getEString(), "projectName", null, 0, 1, OpenStackRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestDeleteEClass, OpenstackRequestDelete.class, "OpenstackRequestDelete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenstackRequestDelete_ObjectType(), theEcorePackage.getEString(), "objectType", null, 0, 1, OpenstackRequestDelete.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenstackRequestDelete_ObjectName(), theEcorePackage.getEString(), "objectName", null, 0, 1, OpenstackRequestDelete.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(openstackRequestPollEClass, OpenstackRequestPoll.class, "OpenstackRequestPoll", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(virtualMachineTypeEClass, VirtualMachineType.class, "VirtualMachineType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVirtualMachineType_Description(), theEcorePackage.getEString(), "description", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_NumberOfCores(), theEcorePackage.getEInt(), "numberOfCores", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_MemorySizeMB(), theEcorePackage.getEInt(), "memorySizeMB", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_RootDiskSizeGB(), theEcorePackage.getEInt(), "rootDiskSizeGB", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_DiskSizeGB(), theEcorePackage.getEInt(), "diskSizeGB", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_VolumeSizeGB(), theEcorePackage.getEInt(), "volumeSizeGB", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_ImageName(), theEcorePackage.getEString(), "imageName", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_FlavorName(), theEcorePackage.getEString(), "flavorName", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_NeedPublicIp(), theEcorePackage.getEBoolean(), "needPublicIp", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVirtualMachineType_DeploymentStatus(), theCorePackage_1.getDeploymentStatus(), "deploymentStatus", null, 0, 1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVirtualMachineType_IncomingSecurityRules(), this.getSecurityRule(), null, "incomingSecurityRules", null, 0, -1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVirtualMachineType_OutboundSecurityRules(), this.getSecurityRule(), null, "outboundSecurityRules", null, 0, -1, VirtualMachineType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(securityRuleEClass, SecurityRule.class, "SecurityRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSecurityRule_PortRangeStart(), theEcorePackage.getEIntegerObject(), "portRangeStart", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_PortRangeEnd(), theEcorePackage.getEIntegerObject(), "portRangeEnd", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_Prefix(), theEcorePackage.getEString(), "prefix", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecurityRule_IpProtocol(), this.getSecurityRuleProtocol(), "ipProtocol", null, 0, 1, SecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(securityRuleProtocolEEnum, SecurityRuleProtocol.class, "SecurityRuleProtocol");
+ addEEnumLiteral(securityRuleProtocolEEnum, SecurityRuleProtocol.NONE);
+ addEEnumLiteral(securityRuleProtocolEEnum, SecurityRuleProtocol.TCP);
+ addEEnumLiteral(securityRuleProtocolEEnum, SecurityRuleProtocol.UDP);
+ addEEnumLiteral(securityRuleProtocolEEnum, SecurityRuleProtocol.IMCP);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //CorePackageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenStackRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenStackRequestImpl.java
new file mode 100644
index 0000000..e83f9ec
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenStackRequestImpl.java
@@ -0,0 +1,184 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Open Stack Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl#getProjectName <em>Project Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class OpenStackRequestImpl extends MinimalEObjectImpl.Container implements OpenStackRequest {
+ /**
+ * The default value of the '{@link #getProjectName() <em>Project Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProjectName()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROJECT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProjectName() <em>Project Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProjectName()
+ * @generated
+ * @ordered
+ */
+ protected String projectName = PROJECT_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenStackRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CorePackage.Literals.OPEN_STACK_REQUEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProjectName() {
+ return projectName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProjectName(String newProjectName) {
+ String oldProjectName = projectName;
+ projectName = newProjectName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME, oldProjectName, projectName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME:
+ return getProjectName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME:
+ setProjectName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME:
+ setProjectName(PROJECT_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME:
+ return PROJECT_NAME_EDEFAULT == null ? projectName != null : !PROJECT_NAME_EDEFAULT.equals(projectName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (projectName: ");
+ result.append(projectName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenStackRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestDeleteImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestDeleteImpl.java
new file mode 100644
index 0000000..18291e7
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestDeleteImpl.java
@@ -0,0 +1,237 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Delete</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.OpenstackRequestDeleteImpl#getObjectType <em>Object Type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.OpenstackRequestDeleteImpl#getObjectName <em>Object Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestDeleteImpl extends OpenStackRequestImpl implements OpenstackRequestDelete {
+ /**
+ * The default value of the '{@link #getObjectType() <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectType()
+ * @generated
+ * @ordered
+ */
+ protected static final String OBJECT_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getObjectType() <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectType()
+ * @generated
+ * @ordered
+ */
+ protected String objectType = OBJECT_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getObjectName() <em>Object Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectName()
+ * @generated
+ * @ordered
+ */
+ protected static final String OBJECT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getObjectName() <em>Object Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectName()
+ * @generated
+ * @ordered
+ */
+ protected String objectName = OBJECT_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestDeleteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CorePackage.Literals.OPENSTACK_REQUEST_DELETE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getObjectType() {
+ return objectType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObjectType(String newObjectType) {
+ String oldObjectType = objectType;
+ objectType = newObjectType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_TYPE, oldObjectType, objectType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getObjectName() {
+ return objectName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObjectName(String newObjectName) {
+ String oldObjectName = objectName;
+ objectName = newObjectName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_NAME, oldObjectName, objectName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_TYPE:
+ return getObjectType();
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_NAME:
+ return getObjectName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_TYPE:
+ setObjectType((String)newValue);
+ return;
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_NAME:
+ setObjectName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_TYPE:
+ setObjectType(OBJECT_TYPE_EDEFAULT);
+ return;
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_NAME:
+ setObjectName(OBJECT_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_TYPE:
+ return OBJECT_TYPE_EDEFAULT == null ? objectType != null : !OBJECT_TYPE_EDEFAULT.equals(objectType);
+ case CorePackage.OPENSTACK_REQUEST_DELETE__OBJECT_NAME:
+ return OBJECT_NAME_EDEFAULT == null ? objectName != null : !OBJECT_NAME_EDEFAULT.equals(objectName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (objectType: ");
+ result.append(objectType);
+ result.append(", objectName: ");
+ result.append(objectName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenstackRequestDeleteImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestPollImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestPollImpl.java
new file mode 100644
index 0000000..a28f3c8
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/OpenstackRequestPollImpl.java
@@ -0,0 +1,60 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestPoll;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Openstack Request Poll</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenstackRequestPollImpl extends OpenStackRequestImpl implements OpenstackRequestPoll {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackRequestPollImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CorePackage.Literals.OPENSTACK_REQUEST_POLL;
+ }
+
+} //OpenstackRequestPollImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/SecurityRuleImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/SecurityRuleImpl.java
new file mode 100644
index 0000000..4b85fff
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/SecurityRuleImpl.java
@@ -0,0 +1,348 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.core.SecurityRule;
+import org.openecomp.ncomp.openstack.core.SecurityRuleProtocol;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl#getPortRangeStart <em>Port Range Start</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl#getPortRangeEnd <em>Port Range End</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl#getPrefix <em>Prefix</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.SecurityRuleImpl#getIpProtocol <em>Ip Protocol</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SecurityRuleImpl extends NamedEntityImpl implements SecurityRule {
+ /**
+ * The default value of the '{@link #getPortRangeStart() <em>Port Range Start</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPortRangeStart()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PORT_RANGE_START_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPortRangeStart() <em>Port Range Start</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPortRangeStart()
+ * @generated
+ * @ordered
+ */
+ protected Integer portRangeStart = PORT_RANGE_START_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPortRangeEnd() <em>Port Range End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPortRangeEnd()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PORT_RANGE_END_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPortRangeEnd() <em>Port Range End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPortRangeEnd()
+ * @generated
+ * @ordered
+ */
+ protected Integer portRangeEnd = PORT_RANGE_END_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrefix() <em>Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefix()
+ * @generated
+ * @ordered
+ */
+ protected static final String PREFIX_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrefix() <em>Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefix()
+ * @generated
+ * @ordered
+ */
+ protected String prefix = PREFIX_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIpProtocol() <em>Ip Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIpProtocol()
+ * @generated
+ * @ordered
+ */
+ protected static final SecurityRuleProtocol IP_PROTOCOL_EDEFAULT = SecurityRuleProtocol.NONE;
+
+ /**
+ * The cached value of the '{@link #getIpProtocol() <em>Ip Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIpProtocol()
+ * @generated
+ * @ordered
+ */
+ protected SecurityRuleProtocol ipProtocol = IP_PROTOCOL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecurityRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CorePackage.Literals.SECURITY_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getPortRangeStart() {
+ return portRangeStart;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPortRangeStart(Integer newPortRangeStart) {
+ Integer oldPortRangeStart = portRangeStart;
+ portRangeStart = newPortRangeStart;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.SECURITY_RULE__PORT_RANGE_START, oldPortRangeStart, portRangeStart));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getPortRangeEnd() {
+ return portRangeEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPortRangeEnd(Integer newPortRangeEnd) {
+ Integer oldPortRangeEnd = portRangeEnd;
+ portRangeEnd = newPortRangeEnd;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.SECURITY_RULE__PORT_RANGE_END, oldPortRangeEnd, portRangeEnd));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrefix() {
+ return prefix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrefix(String newPrefix) {
+ String oldPrefix = prefix;
+ prefix = newPrefix;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.SECURITY_RULE__PREFIX, oldPrefix, prefix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityRuleProtocol getIpProtocol() {
+ return ipProtocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIpProtocol(SecurityRuleProtocol newIpProtocol) {
+ SecurityRuleProtocol oldIpProtocol = ipProtocol;
+ ipProtocol = newIpProtocol == null ? IP_PROTOCOL_EDEFAULT : newIpProtocol;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.SECURITY_RULE__IP_PROTOCOL, oldIpProtocol, ipProtocol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CorePackage.SECURITY_RULE__PORT_RANGE_START:
+ return getPortRangeStart();
+ case CorePackage.SECURITY_RULE__PORT_RANGE_END:
+ return getPortRangeEnd();
+ case CorePackage.SECURITY_RULE__PREFIX:
+ return getPrefix();
+ case CorePackage.SECURITY_RULE__IP_PROTOCOL:
+ return getIpProtocol();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CorePackage.SECURITY_RULE__PORT_RANGE_START:
+ setPortRangeStart((Integer)newValue);
+ return;
+ case CorePackage.SECURITY_RULE__PORT_RANGE_END:
+ setPortRangeEnd((Integer)newValue);
+ return;
+ case CorePackage.SECURITY_RULE__PREFIX:
+ setPrefix((String)newValue);
+ return;
+ case CorePackage.SECURITY_RULE__IP_PROTOCOL:
+ setIpProtocol((SecurityRuleProtocol)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CorePackage.SECURITY_RULE__PORT_RANGE_START:
+ setPortRangeStart(PORT_RANGE_START_EDEFAULT);
+ return;
+ case CorePackage.SECURITY_RULE__PORT_RANGE_END:
+ setPortRangeEnd(PORT_RANGE_END_EDEFAULT);
+ return;
+ case CorePackage.SECURITY_RULE__PREFIX:
+ setPrefix(PREFIX_EDEFAULT);
+ return;
+ case CorePackage.SECURITY_RULE__IP_PROTOCOL:
+ setIpProtocol(IP_PROTOCOL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CorePackage.SECURITY_RULE__PORT_RANGE_START:
+ return PORT_RANGE_START_EDEFAULT == null ? portRangeStart != null : !PORT_RANGE_START_EDEFAULT.equals(portRangeStart);
+ case CorePackage.SECURITY_RULE__PORT_RANGE_END:
+ return PORT_RANGE_END_EDEFAULT == null ? portRangeEnd != null : !PORT_RANGE_END_EDEFAULT.equals(portRangeEnd);
+ case CorePackage.SECURITY_RULE__PREFIX:
+ return PREFIX_EDEFAULT == null ? prefix != null : !PREFIX_EDEFAULT.equals(prefix);
+ case CorePackage.SECURITY_RULE__IP_PROTOCOL:
+ return ipProtocol != IP_PROTOCOL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (portRangeStart: ");
+ result.append(portRangeStart);
+ result.append(", portRangeEnd: ");
+ result.append(portRangeEnd);
+ result.append(", prefix: ");
+ result.append(prefix);
+ result.append(", ipProtocol: ");
+ result.append(ipProtocol);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SecurityRuleImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/VirtualMachineTypeImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/VirtualMachineTypeImpl.java
new file mode 100644
index 0000000..014c99d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/impl/VirtualMachineTypeImpl.java
@@ -0,0 +1,760 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.impl;
+
+import org.openecomp.ncomp.core.DeploymentStatus;
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.core.SecurityRule;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Virtual Machine Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getNumberOfCores <em>Number Of Cores</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getMemorySizeMB <em>Memory Size MB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getRootDiskSizeGB <em>Root Disk Size GB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getDiskSizeGB <em>Disk Size GB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getVolumeSizeGB <em>Volume Size GB</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getImageName <em>Image Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getFlavorName <em>Flavor Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#isNeedPublicIp <em>Need Public Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getDeploymentStatus <em>Deployment Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getIncomingSecurityRules <em>Incoming Security Rules</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.core.impl.VirtualMachineTypeImpl#getOutboundSecurityRules <em>Outbound Security Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VirtualMachineTypeImpl extends NamedEntityImpl implements VirtualMachineType {
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNumberOfCores() <em>Number Of Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNumberOfCores()
+ * @generated
+ * @ordered
+ */
+ protected static final int NUMBER_OF_CORES_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getNumberOfCores() <em>Number Of Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNumberOfCores()
+ * @generated
+ * @ordered
+ */
+ protected int numberOfCores = NUMBER_OF_CORES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMemorySizeMB() <em>Memory Size MB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemorySizeMB()
+ * @generated
+ * @ordered
+ */
+ protected static final int MEMORY_SIZE_MB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMemorySizeMB() <em>Memory Size MB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemorySizeMB()
+ * @generated
+ * @ordered
+ */
+ protected int memorySizeMB = MEMORY_SIZE_MB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRootDiskSizeGB() <em>Root Disk Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRootDiskSizeGB()
+ * @generated
+ * @ordered
+ */
+ protected static final int ROOT_DISK_SIZE_GB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getRootDiskSizeGB() <em>Root Disk Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRootDiskSizeGB()
+ * @generated
+ * @ordered
+ */
+ protected int rootDiskSizeGB = ROOT_DISK_SIZE_GB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDiskSizeGB() <em>Disk Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiskSizeGB()
+ * @generated
+ * @ordered
+ */
+ protected static final int DISK_SIZE_GB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getDiskSizeGB() <em>Disk Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiskSizeGB()
+ * @generated
+ * @ordered
+ */
+ protected int diskSizeGB = DISK_SIZE_GB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVolumeSizeGB() <em>Volume Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolumeSizeGB()
+ * @generated
+ * @ordered
+ */
+ protected static final int VOLUME_SIZE_GB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVolumeSizeGB() <em>Volume Size GB</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolumeSizeGB()
+ * @generated
+ * @ordered
+ */
+ protected int volumeSizeGB = VOLUME_SIZE_GB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getImageName() <em>Image Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImageName()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMAGE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImageName() <em>Image Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImageName()
+ * @generated
+ * @ordered
+ */
+ protected String imageName = IMAGE_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFlavorName() <em>Flavor Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlavorName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FLAVOR_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFlavorName() <em>Flavor Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlavorName()
+ * @generated
+ * @ordered
+ */
+ protected String flavorName = FLAVOR_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isNeedPublicIp() <em>Need Public Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNeedPublicIp()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean NEED_PUBLIC_IP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isNeedPublicIp() <em>Need Public Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNeedPublicIp()
+ * @generated
+ * @ordered
+ */
+ protected boolean needPublicIp = NEED_PUBLIC_IP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDeploymentStatus() <em>Deployment Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeploymentStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final DeploymentStatus DEPLOYMENT_STATUS_EDEFAULT = DeploymentStatus.UNDEPLOYED;
+
+ /**
+ * The cached value of the '{@link #getDeploymentStatus() <em>Deployment Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeploymentStatus()
+ * @generated
+ * @ordered
+ */
+ protected DeploymentStatus deploymentStatus = DEPLOYMENT_STATUS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIncomingSecurityRules() <em>Incoming Security Rules</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncomingSecurityRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<SecurityRule> incomingSecurityRules;
+
+ /**
+ * The cached value of the '{@link #getOutboundSecurityRules() <em>Outbound Security Rules</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutboundSecurityRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<SecurityRule> outboundSecurityRules;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VirtualMachineTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CorePackage.Literals.VIRTUAL_MACHINE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getNumberOfCores() {
+ return numberOfCores;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNumberOfCores(int newNumberOfCores) {
+ int oldNumberOfCores = numberOfCores;
+ numberOfCores = newNumberOfCores;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES, oldNumberOfCores, numberOfCores));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMemorySizeMB() {
+ return memorySizeMB;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMemorySizeMB(int newMemorySizeMB) {
+ int oldMemorySizeMB = memorySizeMB;
+ memorySizeMB = newMemorySizeMB;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB, oldMemorySizeMB, memorySizeMB));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getRootDiskSizeGB() {
+ return rootDiskSizeGB;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRootDiskSizeGB(int newRootDiskSizeGB) {
+ int oldRootDiskSizeGB = rootDiskSizeGB;
+ rootDiskSizeGB = newRootDiskSizeGB;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB, oldRootDiskSizeGB, rootDiskSizeGB));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getDiskSizeGB() {
+ return diskSizeGB;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDiskSizeGB(int newDiskSizeGB) {
+ int oldDiskSizeGB = diskSizeGB;
+ diskSizeGB = newDiskSizeGB;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB, oldDiskSizeGB, diskSizeGB));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVolumeSizeGB() {
+ return volumeSizeGB;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVolumeSizeGB(int newVolumeSizeGB) {
+ int oldVolumeSizeGB = volumeSizeGB;
+ volumeSizeGB = newVolumeSizeGB;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB, oldVolumeSizeGB, volumeSizeGB));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImageName() {
+ return imageName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImageName(String newImageName) {
+ String oldImageName = imageName;
+ imageName = newImageName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__IMAGE_NAME, oldImageName, imageName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFlavorName() {
+ return flavorName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFlavorName(String newFlavorName) {
+ String oldFlavorName = flavorName;
+ flavorName = newFlavorName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__FLAVOR_NAME, oldFlavorName, flavorName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNeedPublicIp() {
+ return needPublicIp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNeedPublicIp(boolean newNeedPublicIp) {
+ boolean oldNeedPublicIp = needPublicIp;
+ needPublicIp = newNeedPublicIp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP, oldNeedPublicIp, needPublicIp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentStatus getDeploymentStatus() {
+ return deploymentStatus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeploymentStatus(DeploymentStatus newDeploymentStatus) {
+ DeploymentStatus oldDeploymentStatus = deploymentStatus;
+ deploymentStatus = newDeploymentStatus == null ? DEPLOYMENT_STATUS_EDEFAULT : newDeploymentStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CorePackage.VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS, oldDeploymentStatus, deploymentStatus));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SecurityRule> getIncomingSecurityRules() {
+ if (incomingSecurityRules == null) {
+ incomingSecurityRules = new EObjectContainmentEList<SecurityRule>(SecurityRule.class, this, CorePackage.VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES);
+ }
+ return incomingSecurityRules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SecurityRule> getOutboundSecurityRules() {
+ if (outboundSecurityRules == null) {
+ outboundSecurityRules = new EObjectContainmentEList<SecurityRule>(SecurityRule.class, this, CorePackage.VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES);
+ }
+ return outboundSecurityRules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CorePackage.VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES:
+ return ((InternalEList<?>)getIncomingSecurityRules()).basicRemove(otherEnd, msgs);
+ case CorePackage.VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES:
+ return ((InternalEList<?>)getOutboundSecurityRules()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DESCRIPTION:
+ return getDescription();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES:
+ return getNumberOfCores();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB:
+ return getMemorySizeMB();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB:
+ return getRootDiskSizeGB();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB:
+ return getDiskSizeGB();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB:
+ return getVolumeSizeGB();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__IMAGE_NAME:
+ return getImageName();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__FLAVOR_NAME:
+ return getFlavorName();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP:
+ return isNeedPublicIp();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS:
+ return getDeploymentStatus();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES:
+ return getIncomingSecurityRules();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES:
+ return getOutboundSecurityRules();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES:
+ setNumberOfCores((Integer)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB:
+ setMemorySizeMB((Integer)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB:
+ setRootDiskSizeGB((Integer)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB:
+ setDiskSizeGB((Integer)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB:
+ setVolumeSizeGB((Integer)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__IMAGE_NAME:
+ setImageName((String)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__FLAVOR_NAME:
+ setFlavorName((String)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP:
+ setNeedPublicIp((Boolean)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS:
+ setDeploymentStatus((DeploymentStatus)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES:
+ getIncomingSecurityRules().clear();
+ getIncomingSecurityRules().addAll((Collection<? extends SecurityRule>)newValue);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES:
+ getOutboundSecurityRules().clear();
+ getOutboundSecurityRules().addAll((Collection<? extends SecurityRule>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES:
+ setNumberOfCores(NUMBER_OF_CORES_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB:
+ setMemorySizeMB(MEMORY_SIZE_MB_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB:
+ setRootDiskSizeGB(ROOT_DISK_SIZE_GB_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB:
+ setDiskSizeGB(DISK_SIZE_GB_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB:
+ setVolumeSizeGB(VOLUME_SIZE_GB_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__IMAGE_NAME:
+ setImageName(IMAGE_NAME_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__FLAVOR_NAME:
+ setFlavorName(FLAVOR_NAME_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP:
+ setNeedPublicIp(NEED_PUBLIC_IP_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS:
+ setDeploymentStatus(DEPLOYMENT_STATUS_EDEFAULT);
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES:
+ getIncomingSecurityRules().clear();
+ return;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES:
+ getOutboundSecurityRules().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NUMBER_OF_CORES:
+ return numberOfCores != NUMBER_OF_CORES_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__MEMORY_SIZE_MB:
+ return memorySizeMB != MEMORY_SIZE_MB_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__ROOT_DISK_SIZE_GB:
+ return rootDiskSizeGB != ROOT_DISK_SIZE_GB_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DISK_SIZE_GB:
+ return diskSizeGB != DISK_SIZE_GB_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__VOLUME_SIZE_GB:
+ return volumeSizeGB != VOLUME_SIZE_GB_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__IMAGE_NAME:
+ return IMAGE_NAME_EDEFAULT == null ? imageName != null : !IMAGE_NAME_EDEFAULT.equals(imageName);
+ case CorePackage.VIRTUAL_MACHINE_TYPE__FLAVOR_NAME:
+ return FLAVOR_NAME_EDEFAULT == null ? flavorName != null : !FLAVOR_NAME_EDEFAULT.equals(flavorName);
+ case CorePackage.VIRTUAL_MACHINE_TYPE__NEED_PUBLIC_IP:
+ return needPublicIp != NEED_PUBLIC_IP_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__DEPLOYMENT_STATUS:
+ return deploymentStatus != DEPLOYMENT_STATUS_EDEFAULT;
+ case CorePackage.VIRTUAL_MACHINE_TYPE__INCOMING_SECURITY_RULES:
+ return incomingSecurityRules != null && !incomingSecurityRules.isEmpty();
+ case CorePackage.VIRTUAL_MACHINE_TYPE__OUTBOUND_SECURITY_RULES:
+ return outboundSecurityRules != null && !outboundSecurityRules.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (description: ");
+ result.append(description);
+ result.append(", numberOfCores: ");
+ result.append(numberOfCores);
+ result.append(", memorySizeMB: ");
+ result.append(memorySizeMB);
+ result.append(", rootDiskSizeGB: ");
+ result.append(rootDiskSizeGB);
+ result.append(", diskSizeGB: ");
+ result.append(diskSizeGB);
+ result.append(", volumeSizeGB: ");
+ result.append(volumeSizeGB);
+ result.append(", imageName: ");
+ result.append(imageName);
+ result.append(", flavorName: ");
+ result.append(flavorName);
+ result.append(", needPublicIp: ");
+ result.append(needPublicIp);
+ result.append(", deploymentStatus: ");
+ result.append(deploymentStatus);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VirtualMachineTypeImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreAdapterFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreAdapterFactory.java
new file mode 100644
index 0000000..f8d6933
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreAdapterFactory.java
@@ -0,0 +1,233 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.core.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.CorePackage
+ * @generated
+ */
+public class CoreAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CorePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CoreAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = CorePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CoreSwitch<Adapter> modelSwitch =
+ new CoreSwitch<Adapter>() {
+ @Override
+ public Adapter caseOpenStackRequest(OpenStackRequest object) {
+ return createOpenStackRequestAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestDelete(OpenstackRequestDelete object) {
+ return createOpenstackRequestDeleteAdapter();
+ }
+ @Override
+ public Adapter caseOpenstackRequestPoll(OpenstackRequestPoll object) {
+ return createOpenstackRequestPollAdapter();
+ }
+ @Override
+ public Adapter caseVirtualMachineType(VirtualMachineType object) {
+ return createVirtualMachineTypeAdapter();
+ }
+ @Override
+ public Adapter caseSecurityRule(SecurityRule object) {
+ return createSecurityRuleAdapter();
+ }
+ @Override
+ public Adapter caseNamedEntity(NamedEntity object) {
+ return createNamedEntityAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest <em>Open Stack Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.OpenStackRequest
+ * @generated
+ */
+ public Adapter createOpenStackRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestDelete <em>Openstack Request Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.OpenstackRequestDelete
+ * @generated
+ */
+ public Adapter createOpenstackRequestDeleteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.OpenstackRequestPoll <em>Openstack Request Poll</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.OpenstackRequestPoll
+ * @generated
+ */
+ public Adapter createOpenstackRequestPollAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.VirtualMachineType <em>Virtual Machine Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.VirtualMachineType
+ * @generated
+ */
+ public Adapter createVirtualMachineTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.SecurityRule <em>Security Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.SecurityRule
+ * @generated
+ */
+ public Adapter createSecurityRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.core.NamedEntity <em>Named Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.core.NamedEntity
+ * @generated
+ */
+ public Adapter createNamedEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //CoreAdapterFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreSwitch.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreSwitch.java
new file mode 100644
index 0000000..2360076
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/core/util/CoreSwitch.java
@@ -0,0 +1,236 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.core.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.core.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.core.CorePackage
+ * @generated
+ */
+public class CoreSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CorePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CoreSwitch() {
+ if (modelPackage == null) {
+ modelPackage = CorePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case CorePackage.OPEN_STACK_REQUEST: {
+ OpenStackRequest openStackRequest = (OpenStackRequest)theEObject;
+ T result = caseOpenStackRequest(openStackRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CorePackage.OPENSTACK_REQUEST_DELETE: {
+ OpenstackRequestDelete openstackRequestDelete = (OpenstackRequestDelete)theEObject;
+ T result = caseOpenstackRequestDelete(openstackRequestDelete);
+ if (result == null) result = caseOpenStackRequest(openstackRequestDelete);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CorePackage.OPENSTACK_REQUEST_POLL: {
+ OpenstackRequestPoll openstackRequestPoll = (OpenstackRequestPoll)theEObject;
+ T result = caseOpenstackRequestPoll(openstackRequestPoll);
+ if (result == null) result = caseOpenStackRequest(openstackRequestPoll);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CorePackage.VIRTUAL_MACHINE_TYPE: {
+ VirtualMachineType virtualMachineType = (VirtualMachineType)theEObject;
+ T result = caseVirtualMachineType(virtualMachineType);
+ if (result == null) result = caseNamedEntity(virtualMachineType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CorePackage.SECURITY_RULE: {
+ SecurityRule securityRule = (SecurityRule)theEObject;
+ T result = caseSecurityRule(securityRule);
+ if (result == null) result = caseNamedEntity(securityRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackRequest(OpenStackRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Delete</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Delete</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestDelete(OpenstackRequestDelete object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Openstack Request Poll</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Openstack Request Poll</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenstackRequestPoll(OpenstackRequestPoll object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Virtual Machine Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Virtual Machine Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVirtualMachineType(VirtualMachineType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Rule</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecurityRule(SecurityRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedEntity(NamedEntity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //CoreSwitch
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenStackControllerImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenStackControllerImpl.java
new file mode 100644
index 0000000..b0fcb92
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenStackControllerImpl.java
@@ -0,0 +1,269 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.impl;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.openstack.OpenStackController;
+import org.openecomp.ncomp.openstack.OpenstackPackage;
+import org.openecomp.ncomp.openstack.core.VirtualMachineType;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.json.JSONObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Open Stack Controller</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl#getLocations <em>Locations</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl#getVmTypes <em>Vm Types</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.impl.OpenStackControllerImpl#getUsers <em>Users</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenStackControllerImpl extends MinimalEObjectImpl.Container implements OpenStackController {
+ /**
+ * The cached value of the '{@link #getLocations() <em>Locations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocations()
+ * @generated
+ * @ordered
+ */
+ protected EList<OpenStackLocation> locations;
+
+ /**
+ * The cached value of the '{@link #getVmTypes() <em>Vm Types</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVmTypes()
+ * @generated
+ * @ordered
+ */
+ protected EList<VirtualMachineType> vmTypes;
+
+ /**
+ * The cached value of the '{@link #getUsers() <em>Users</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsers()
+ * @generated
+ * @ordered
+ */
+ protected EList<User> users;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenStackControllerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return OpenstackPackage.Literals.OPEN_STACK_CONTROLLER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OpenStackLocation> getLocations() {
+ if (locations == null) {
+ locations = new EObjectContainmentEList<OpenStackLocation>(OpenStackLocation.class, this, OpenstackPackage.OPEN_STACK_CONTROLLER__LOCATIONS);
+ }
+ return locations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VirtualMachineType> getVmTypes() {
+ if (vmTypes == null) {
+ vmTypes = new EObjectContainmentEList<VirtualMachineType>(VirtualMachineType.class, this, OpenstackPackage.OPEN_STACK_CONTROLLER__VM_TYPES);
+ }
+ return vmTypes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<User> getUsers() {
+ if (users == null) {
+ users = new EObjectContainmentEList<User>(User.class, this, OpenstackPackage.OPEN_STACK_CONTROLLER__USERS);
+ }
+ return users;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void uploadOpenstackConfiguration(JSONObject cx, OpenStackLocation loc) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__LOCATIONS:
+ return ((InternalEList<?>)getLocations()).basicRemove(otherEnd, msgs);
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__VM_TYPES:
+ return ((InternalEList<?>)getVmTypes()).basicRemove(otherEnd, msgs);
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__USERS:
+ return ((InternalEList<?>)getUsers()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__LOCATIONS:
+ return getLocations();
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__VM_TYPES:
+ return getVmTypes();
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__USERS:
+ return getUsers();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__LOCATIONS:
+ getLocations().clear();
+ getLocations().addAll((Collection<? extends OpenStackLocation>)newValue);
+ return;
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__VM_TYPES:
+ getVmTypes().clear();
+ getVmTypes().addAll((Collection<? extends VirtualMachineType>)newValue);
+ return;
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__USERS:
+ getUsers().clear();
+ getUsers().addAll((Collection<? extends User>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__LOCATIONS:
+ getLocations().clear();
+ return;
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__VM_TYPES:
+ getVmTypes().clear();
+ return;
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__USERS:
+ getUsers().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__LOCATIONS:
+ return locations != null && !locations.isEmpty();
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__VM_TYPES:
+ return vmTypes != null && !vmTypes.isEmpty();
+ case OpenstackPackage.OPEN_STACK_CONTROLLER__USERS:
+ return users != null && !users.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER___UPLOAD_OPENSTACK_CONFIGURATION__JSONOBJECT_OPENSTACKLOCATION:
+ uploadOpenstackConfiguration((JSONObject)arguments.get(0), (OpenStackLocation)arguments.get(1));
+ return null;
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //OpenStackControllerImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackFactoryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackFactoryImpl.java
new file mode 100644
index 0000000..02a56d5
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackFactoryImpl.java
@@ -0,0 +1,116 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.impl;
+
+import org.openecomp.ncomp.openstack.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpenstackFactoryImpl extends EFactoryImpl implements OpenstackFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OpenstackFactory init() {
+ try {
+ OpenstackFactory theOpenstackFactory = (OpenstackFactory)EPackage.Registry.INSTANCE.getEFactory(OpenstackPackage.eNS_URI);
+ if (theOpenstackFactory != null) {
+ return theOpenstackFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new OpenstackFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER: return createOpenStackController();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackController createOpenStackController() {
+ OpenStackControllerImpl openStackController = new OpenStackControllerImpl();
+ return openStackController;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackPackage getOpenstackPackage() {
+ return (OpenstackPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static OpenstackPackage getPackage() {
+ return OpenstackPackage.eINSTANCE;
+ }
+
+} //OpenstackFactoryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackPackageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackPackageImpl.java
new file mode 100644
index 0000000..571822f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/impl/OpenstackPackageImpl.java
@@ -0,0 +1,243 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.impl;
+
+import org.openecomp.ncomp.openstack.OpenStackController;
+import org.openecomp.ncomp.openstack.OpenstackFactory;
+import org.openecomp.ncomp.openstack.OpenstackPackage;
+import org.openecomp.ncomp.openstack.core.CorePackage;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpenstackPackageImpl extends EPackageImpl implements OpenstackPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openStackControllerEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private OpenstackPackageImpl() {
+ super(eNS_URI, OpenstackFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link OpenstackPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static OpenstackPackage init() {
+ if (isInited) return (OpenstackPackage)EPackage.Registry.INSTANCE.getEPackage(OpenstackPackage.eNS_URI);
+
+ // Obtain or create and register package
+ OpenstackPackageImpl theOpenstackPackage = (OpenstackPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof OpenstackPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new OpenstackPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ LocationPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theOpenstackPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theOpenstackPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theOpenstackPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(OpenstackPackage.eNS_URI, theOpenstackPackage);
+ return theOpenstackPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenStackController() {
+ return openStackControllerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackController_Locations() {
+ return (EReference)openStackControllerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackController_VmTypes() {
+ return (EReference)openStackControllerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackController_Users() {
+ return (EReference)openStackControllerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpenStackController__UploadOpenstackConfiguration__JSONObject_OpenStackLocation() {
+ return openStackControllerEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackFactory getOpenstackFactory() {
+ return (OpenstackFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ openStackControllerEClass = createEClass(OPEN_STACK_CONTROLLER);
+ createEReference(openStackControllerEClass, OPEN_STACK_CONTROLLER__LOCATIONS);
+ createEReference(openStackControllerEClass, OPEN_STACK_CONTROLLER__VM_TYPES);
+ createEReference(openStackControllerEClass, OPEN_STACK_CONTROLLER__USERS);
+ createEOperation(openStackControllerEClass, OPEN_STACK_CONTROLLER___UPLOAD_OPENSTACK_CONFIGURATION__JSONOBJECT_OPENSTACKLOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ LocationPackage theLocationPackage = (LocationPackage)EPackage.Registry.INSTANCE.getEPackage(LocationPackage.eNS_URI);
+ CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+ org.openecomp.ncomp.core.CorePackage theCorePackage_1 = (org.openecomp.ncomp.core.CorePackage)EPackage.Registry.INSTANCE.getEPackage(org.openecomp.ncomp.core.CorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(openStackControllerEClass, OpenStackController.class, "OpenStackController", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOpenStackController_Locations(), theLocationPackage.getOpenStackLocation(), null, "locations", null, 0, -1, OpenStackController.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOpenStackController_VmTypes(), theCorePackage.getVirtualMachineType(), null, "vmTypes", null, 0, -1, OpenStackController.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOpenStackController_Users(), theCorePackage_1.getUser(), null, "users", null, 0, -1, OpenStackController.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ EOperation op = initEOperation(getOpenStackController__UploadOpenstackConfiguration__JSONObject_OpenStackLocation(), null, "uploadOpenstackConfiguration", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theCorePackage_1.getRemoteContext(), "cx", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theLocationPackage.getOpenStackLocation(), "loc", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //OpenstackPackageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/Hypervisor.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/Hypervisor.java
new file mode 100644
index 0000000..154c46b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/Hypervisor.java
@@ -0,0 +1,530 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hypervisor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getService <em>Service</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHost_ip <em>Host ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus_used <em>Vcpus used</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_type <em>Hypervisor type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb_used <em>Local gb used</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_hostname <em>Hypervisor hostname</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb_used <em>Memory mb used</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb <em>Memory mb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getCurrent_workload <em>Current workload</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus <em>Vcpus</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getCpu_info <em>Cpu info</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getRunning_vms <em>Running vms</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getFree_disk_gb <em>Free disk gb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_version <em>Hypervisor version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getDisk_available_least <em>Disk available least</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb <em>Local gb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getFree_ram_mb <em>Free ram mb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.Hypervisor#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor()
+ * @model
+ * @generated
+ */
+public interface Hypervisor extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Service</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Service</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Service</em>' containment reference.
+ * @see #setService(HypervisorService)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Service()
+ * @model containment="true"
+ * @generated
+ */
+ HypervisorService getService();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getService <em>Service</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Service</em>' containment reference.
+ * @see #getService()
+ * @generated
+ */
+ void setService(HypervisorService value);
+
+ /**
+ * Returns the value of the '<em><b>Host ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Host ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Host ip</em>' attribute.
+ * @see #setHost_ip(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Host_ip()
+ * @model unique="false"
+ * @generated
+ */
+ String getHost_ip();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHost_ip <em>Host ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Host ip</em>' attribute.
+ * @see #getHost_ip()
+ * @generated
+ */
+ void setHost_ip(String value);
+
+ /**
+ * Returns the value of the '<em><b>Vcpus used</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vcpus used</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vcpus used</em>' attribute.
+ * @see #setVcpus_used(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Vcpus_used()
+ * @model unique="false"
+ * @generated
+ */
+ int getVcpus_used();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus_used <em>Vcpus used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vcpus used</em>' attribute.
+ * @see #getVcpus_used()
+ * @generated
+ */
+ void setVcpus_used(int value);
+
+ /**
+ * Returns the value of the '<em><b>Hypervisor type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hypervisor type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hypervisor type</em>' attribute.
+ * @see #setHypervisor_type(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Hypervisor_type()
+ * @model unique="false"
+ * @generated
+ */
+ String getHypervisor_type();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_type <em>Hypervisor type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hypervisor type</em>' attribute.
+ * @see #getHypervisor_type()
+ * @generated
+ */
+ void setHypervisor_type(String value);
+
+ /**
+ * Returns the value of the '<em><b>Local gb used</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Local gb used</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Local gb used</em>' attribute.
+ * @see #setLocal_gb_used(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Local_gb_used()
+ * @model unique="false"
+ * @generated
+ */
+ int getLocal_gb_used();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb_used <em>Local gb used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Local gb used</em>' attribute.
+ * @see #getLocal_gb_used()
+ * @generated
+ */
+ void setLocal_gb_used(int value);
+
+ /**
+ * Returns the value of the '<em><b>Hypervisor hostname</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hypervisor hostname</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hypervisor hostname</em>' attribute.
+ * @see #setHypervisor_hostname(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Hypervisor_hostname()
+ * @model unique="false"
+ * @generated
+ */
+ String getHypervisor_hostname();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_hostname <em>Hypervisor hostname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hypervisor hostname</em>' attribute.
+ * @see #getHypervisor_hostname()
+ * @generated
+ */
+ void setHypervisor_hostname(String value);
+
+ /**
+ * Returns the value of the '<em><b>Memory mb used</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory mb used</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory mb used</em>' attribute.
+ * @see #setMemory_mb_used(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Memory_mb_used()
+ * @model unique="false"
+ * @generated
+ */
+ int getMemory_mb_used();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb_used <em>Memory mb used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Memory mb used</em>' attribute.
+ * @see #getMemory_mb_used()
+ * @generated
+ */
+ void setMemory_mb_used(int value);
+
+ /**
+ * Returns the value of the '<em><b>Memory mb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory mb</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory mb</em>' attribute.
+ * @see #setMemory_mb(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Memory_mb()
+ * @model unique="false"
+ * @generated
+ */
+ int getMemory_mb();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb <em>Memory mb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Memory mb</em>' attribute.
+ * @see #getMemory_mb()
+ * @generated
+ */
+ void setMemory_mb(int value);
+
+ /**
+ * Returns the value of the '<em><b>Current workload</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Current workload</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Current workload</em>' attribute.
+ * @see #setCurrent_workload(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Current_workload()
+ * @model unique="false"
+ * @generated
+ */
+ int getCurrent_workload();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getCurrent_workload <em>Current workload</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Current workload</em>' attribute.
+ * @see #getCurrent_workload()
+ * @generated
+ */
+ void setCurrent_workload(int value);
+
+ /**
+ * Returns the value of the '<em><b>Vcpus</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vcpus</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vcpus</em>' attribute.
+ * @see #setVcpus(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Vcpus()
+ * @model unique="false"
+ * @generated
+ */
+ int getVcpus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus <em>Vcpus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vcpus</em>' attribute.
+ * @see #getVcpus()
+ * @generated
+ */
+ void setVcpus(int value);
+
+ /**
+ * Returns the value of the '<em><b>Cpu info</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cpu info</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cpu info</em>' containment reference.
+ * @see #setCpu_info(HypervisorCpuInfo)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Cpu_info()
+ * @model containment="true"
+ * @generated
+ */
+ HypervisorCpuInfo getCpu_info();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getCpu_info <em>Cpu info</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cpu info</em>' containment reference.
+ * @see #getCpu_info()
+ * @generated
+ */
+ void setCpu_info(HypervisorCpuInfo value);
+
+ /**
+ * Returns the value of the '<em><b>Running vms</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Running vms</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Running vms</em>' attribute.
+ * @see #setRunning_vms(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Running_vms()
+ * @model unique="false"
+ * @generated
+ */
+ int getRunning_vms();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getRunning_vms <em>Running vms</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Running vms</em>' attribute.
+ * @see #getRunning_vms()
+ * @generated
+ */
+ void setRunning_vms(int value);
+
+ /**
+ * Returns the value of the '<em><b>Free disk gb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Free disk gb</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Free disk gb</em>' attribute.
+ * @see #setFree_disk_gb(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Free_disk_gb()
+ * @model unique="false"
+ * @generated
+ */
+ int getFree_disk_gb();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getFree_disk_gb <em>Free disk gb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Free disk gb</em>' attribute.
+ * @see #getFree_disk_gb()
+ * @generated
+ */
+ void setFree_disk_gb(int value);
+
+ /**
+ * Returns the value of the '<em><b>Hypervisor version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hypervisor version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hypervisor version</em>' attribute.
+ * @see #setHypervisor_version(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Hypervisor_version()
+ * @model unique="false"
+ * @generated
+ */
+ int getHypervisor_version();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_version <em>Hypervisor version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hypervisor version</em>' attribute.
+ * @see #getHypervisor_version()
+ * @generated
+ */
+ void setHypervisor_version(int value);
+
+ /**
+ * Returns the value of the '<em><b>Disk available least</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Disk available least</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Disk available least</em>' attribute.
+ * @see #setDisk_available_least(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Disk_available_least()
+ * @model unique="false"
+ * @generated
+ */
+ int getDisk_available_least();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getDisk_available_least <em>Disk available least</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Disk available least</em>' attribute.
+ * @see #getDisk_available_least()
+ * @generated
+ */
+ void setDisk_available_least(int value);
+
+ /**
+ * Returns the value of the '<em><b>Local gb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Local gb</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Local gb</em>' attribute.
+ * @see #setLocal_gb(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Local_gb()
+ * @model unique="false"
+ * @generated
+ */
+ int getLocal_gb();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb <em>Local gb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Local gb</em>' attribute.
+ * @see #getLocal_gb()
+ * @generated
+ */
+ void setLocal_gb(int value);
+
+ /**
+ * Returns the value of the '<em><b>Free ram mb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Free ram mb</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Free ram mb</em>' attribute.
+ * @see #setFree_ram_mb(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Free_ram_mb()
+ * @model unique="false"
+ * @generated
+ */
+ int getFree_ram_mb();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getFree_ram_mb <em>Free ram mb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Free ram mb</em>' attribute.
+ * @see #getFree_ram_mb()
+ * @generated
+ */
+ void setFree_ram_mb(int value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisor_Id()
+ * @model unique="false"
+ * @generated
+ */
+ int getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(int value);
+
+} // Hypervisor
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuInfo.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuInfo.java
new file mode 100644
index 0000000..8cfcc52
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuInfo.java
@@ -0,0 +1,171 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hypervisor Cpu Info</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getVendor <em>Vendor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getModel <em>Model</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getArch <em>Arch</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getFeatures <em>Features</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getTopology <em>Topology</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuInfo()
+ * @model
+ * @generated
+ */
+public interface HypervisorCpuInfo extends EObject {
+ /**
+ * Returns the value of the '<em><b>Vendor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vendor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vendor</em>' attribute.
+ * @see #setVendor(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuInfo_Vendor()
+ * @model unique="false"
+ * @generated
+ */
+ String getVendor();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getVendor <em>Vendor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vendor</em>' attribute.
+ * @see #getVendor()
+ * @generated
+ */
+ void setVendor(String value);
+
+ /**
+ * Returns the value of the '<em><b>Model</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Model</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model</em>' attribute.
+ * @see #setModel(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuInfo_Model()
+ * @model unique="false"
+ * @generated
+ */
+ String getModel();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getModel <em>Model</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Model</em>' attribute.
+ * @see #getModel()
+ * @generated
+ */
+ void setModel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Arch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arch</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Arch</em>' attribute.
+ * @see #setArch(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuInfo_Arch()
+ * @model unique="false"
+ * @generated
+ */
+ String getArch();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getArch <em>Arch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Arch</em>' attribute.
+ * @see #getArch()
+ * @generated
+ */
+ void setArch(String value);
+
+ /**
+ * Returns the value of the '<em><b>Features</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Features</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Features</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuInfo_Features()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getFeatures();
+
+ /**
+ * Returns the value of the '<em><b>Topology</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Topology</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Topology</em>' containment reference.
+ * @see #setTopology(HypervisorCpuTopology)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuInfo_Topology()
+ * @model containment="true"
+ * @generated
+ */
+ HypervisorCpuTopology getTopology();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getTopology <em>Topology</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Topology</em>' containment reference.
+ * @see #getTopology()
+ * @generated
+ */
+ void setTopology(HypervisorCpuTopology value);
+
+} // HypervisorCpuInfo
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuTopology.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuTopology.java
new file mode 100644
index 0000000..d54569f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorCpuTopology.java
@@ -0,0 +1,125 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hypervisor Cpu Topology</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getCores <em>Cores</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getThreads <em>Threads</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getSockets <em>Sockets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuTopology()
+ * @model
+ * @generated
+ */
+public interface HypervisorCpuTopology extends EObject {
+ /**
+ * Returns the value of the '<em><b>Cores</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cores</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cores</em>' attribute.
+ * @see #setCores(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuTopology_Cores()
+ * @model unique="false"
+ * @generated
+ */
+ int getCores();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getCores <em>Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cores</em>' attribute.
+ * @see #getCores()
+ * @generated
+ */
+ void setCores(int value);
+
+ /**
+ * Returns the value of the '<em><b>Threads</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Threads</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Threads</em>' attribute.
+ * @see #setThreads(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuTopology_Threads()
+ * @model unique="false"
+ * @generated
+ */
+ int getThreads();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getThreads <em>Threads</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Threads</em>' attribute.
+ * @see #getThreads()
+ * @generated
+ */
+ void setThreads(int value);
+
+ /**
+ * Returns the value of the '<em><b>Sockets</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sockets</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sockets</em>' attribute.
+ * @see #setSockets(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorCpuTopology_Sockets()
+ * @model unique="false"
+ * @generated
+ */
+ int getSockets();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getSockets <em>Sockets</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sockets</em>' attribute.
+ * @see #getSockets()
+ * @generated
+ */
+ void setSockets(int value);
+
+} // HypervisorCpuTopology
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorService.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorService.java
new file mode 100644
index 0000000..5fd546b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/HypervisorService.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hypervisor Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorService#getHost <em>Host</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.HypervisorService#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorService()
+ * @model
+ * @generated
+ */
+public interface HypervisorService extends EObject {
+ /**
+ * Returns the value of the '<em><b>Host</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Host</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Host</em>' attribute.
+ * @see #setHost(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorService_Host()
+ * @model unique="false"
+ * @generated
+ */
+ String getHost();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorService#getHost <em>Host</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Host</em>' attribute.
+ * @see #getHost()
+ * @generated
+ */
+ void setHost(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getHypervisorService_Id()
+ * @model unique="false"
+ * @generated
+ */
+ int getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.HypervisorService#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(int value);
+
+} // HypervisorService
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationFactory.java
new file mode 100644
index 0000000..a503ccc
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationFactory.java
@@ -0,0 +1,117 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage
+ * @generated
+ */
+public interface LocationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LocationFactory eINSTANCE = org.openecomp.ncomp.openstack.location.impl.LocationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Open Stack Location</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Open Stack Location</em>'.
+ * @generated
+ */
+ OpenStackLocation createOpenStackLocation();
+
+ /**
+ * Returns a new object of class '<em>Open Stack Project</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Open Stack Project</em>'.
+ * @generated
+ */
+ OpenStackProject createOpenStackProject();
+
+ /**
+ * Returns a new object of class '<em>Open Stack User</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Open Stack User</em>'.
+ * @generated
+ */
+ OpenStackUser createOpenStackUser();
+
+ /**
+ * Returns a new object of class '<em>Hypervisor Service</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hypervisor Service</em>'.
+ * @generated
+ */
+ HypervisorService createHypervisorService();
+
+ /**
+ * Returns a new object of class '<em>Hypervisor Cpu Topology</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hypervisor Cpu Topology</em>'.
+ * @generated
+ */
+ HypervisorCpuTopology createHypervisorCpuTopology();
+
+ /**
+ * Returns a new object of class '<em>Hypervisor Cpu Info</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hypervisor Cpu Info</em>'.
+ * @generated
+ */
+ HypervisorCpuInfo createHypervisorCpuInfo();
+
+ /**
+ * Returns a new object of class '<em>Hypervisor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hypervisor</em>'.
+ * @generated
+ */
+ Hypervisor createHypervisor();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ LocationPackage getLocationPackage();
+
+} //LocationFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationPackage.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationPackage.java
new file mode 100644
index 0000000..ccbef80
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/LocationPackage.java
@@ -0,0 +1,2747 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.openecomp.ncomp.core.CorePackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.LocationFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/ncomp-openstack-model/src/main/xcore-gen' basePackage='org.openecomp.ncomp.openstack'"
+ * annotation="http://www.eclipse.org/emf/2011/Xcore persistence='http://openecomp.org/sirius/persistence'"
+ * @generated
+ */
+public interface LocationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "location";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.ncomp.openstack.location";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "location";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LocationPackage eINSTANCE = org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl <em>Open Stack Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackLocation()
+ * @generated
+ */
+ int OPEN_STACK_LOCATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Ceilometer Available Capabilites</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ceilometer Unavailable Capabilites</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__VERSION = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Remote Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__REMOTE_LOCATION = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Remote Location Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Allow Create Flavor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Keystone Url</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__KEYSTONE_URL = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Bypass Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__BYPASS_IP = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Flavor Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__FLAVOR_ID = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Supports Security Groups</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Supports Floating Ips</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Projects</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__PROJECTS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Users</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__USERS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Images</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__IMAGES = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Flavors</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__FLAVORS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Hypervisors</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION__HYPERVISORS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 15;
+
+ /**
+ * The number of structural features of the '<em>Open Stack Location</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Create Network</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_NETWORK__CREATENETWORKREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Create Subnet</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_SUBNET__CREATESUBNETREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Create Port</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_PORT__CREATEPORTREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Create Router</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_ROUTER__CREATEROUTERREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Delete Network</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE_NETWORK__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Delete Subnet</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE_SUBNET__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Delete Port</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE_PORT__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Delete Router</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE_ROUTER__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Associate Floating Ip</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Create Server</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Delete Server</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE_SERVER__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Create Key Pair</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Delete</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE__OPENSTACKREQUESTDELETE = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Create Flavor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Create Security Group</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Server Action</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Deploy Vm Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DEPLOY_VM_TYPE__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Undeploy Vm Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___UNDEPLOY_VM_TYPE__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Deploy User</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DEPLOY_USER__USER_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Undeploy User</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___UNDEPLOY_USER__USER_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Create Alarm</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_ALARM__CREATEALARMREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Delete Alarm</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___DELETE_ALARM__STRING_STRING = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Create Alarm</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___CREATE_ALARM__SAMPLEREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Poll</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___POLL = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Merge Location</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION___MERGE_LOCATION__OPENSTACKLOCATION = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 24;
+
+ /**
+ * The number of operations of the '<em>Open Stack Location</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_LOCATION_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 25;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl <em>Open Stack Project</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackProject()
+ * @generated
+ */
+ int OPEN_STACK_PROJECT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Alarms</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__ALARMS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__RESOURCES = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Meters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__METERS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__ID = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Admin User</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__ADMIN_USER = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Tenant Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__TENANT_ID = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Region</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__REGION = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Private Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__PRIVATE_NETWORK = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Public Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__PUBLIC_NETWORK = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Api Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__API_KEY = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Servers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__SERVERS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Users</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__USERS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Controller User</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__CONTROLLER_USER = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Volumes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__VOLUMES = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Ips</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__IPS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Groups</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__GROUPS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Keypairs</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__KEYPAIRS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Networks</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__NETWORKS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 17;
+
+ /**
+ * The feature id for the '<em><b>Subnets</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__SUBNETS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 18;
+
+ /**
+ * The feature id for the '<em><b>Routers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__ROUTERS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 19;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__PORTS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 20;
+
+ /**
+ * The feature id for the '<em><b>Security groups</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__SECURITY_GROUPS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 21;
+
+ /**
+ * The feature id for the '<em><b>Floatingips</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT__FLOATINGIPS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 22;
+
+ /**
+ * The number of structural features of the '<em>Open Stack Project</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Update Nova State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT___UPDATE_NOVA_STATE = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Create Network</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT___CREATE_NETWORK__CREATENETWORKREQUEST = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Open Stack Project</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_PROJECT_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.OpenStackUserImpl <em>Open Stack User</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.OpenStackUserImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackUser()
+ * @generated
+ */
+ int OPEN_STACK_USER = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Password</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER__PASSWORD = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Open Stack User</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Open Stack User</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPEN_STACK_USER_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorServiceImpl <em>Hypervisor Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorServiceImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisorService()
+ * @generated
+ */
+ int HYPERVISOR_SERVICE = 3;
+
+ /**
+ * The feature id for the '<em><b>Host</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_SERVICE__HOST = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_SERVICE__ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Hypervisor Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_SERVICE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Hypervisor Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_SERVICE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl <em>Hypervisor Cpu Topology</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisorCpuTopology()
+ * @generated
+ */
+ int HYPERVISOR_CPU_TOPOLOGY = 4;
+
+ /**
+ * The feature id for the '<em><b>Cores</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_TOPOLOGY__CORES = 0;
+
+ /**
+ * The feature id for the '<em><b>Threads</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_TOPOLOGY__THREADS = 1;
+
+ /**
+ * The feature id for the '<em><b>Sockets</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_TOPOLOGY__SOCKETS = 2;
+
+ /**
+ * The number of structural features of the '<em>Hypervisor Cpu Topology</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_TOPOLOGY_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Hypervisor Cpu Topology</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_TOPOLOGY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl <em>Hypervisor Cpu Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisorCpuInfo()
+ * @generated
+ */
+ int HYPERVISOR_CPU_INFO = 5;
+
+ /**
+ * The feature id for the '<em><b>Vendor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO__VENDOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Model</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO__MODEL = 1;
+
+ /**
+ * The feature id for the '<em><b>Arch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO__ARCH = 2;
+
+ /**
+ * The feature id for the '<em><b>Features</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO__FEATURES = 3;
+
+ /**
+ * The feature id for the '<em><b>Topology</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO__TOPOLOGY = 4;
+
+ /**
+ * The number of structural features of the '<em>Hypervisor Cpu Info</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO_FEATURE_COUNT = 5;
+
+ /**
+ * The number of operations of the '<em>Hypervisor Cpu Info</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_CPU_INFO_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl <em>Hypervisor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisor()
+ * @generated
+ */
+ int HYPERVISOR = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Service</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__SERVICE = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Host ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__HOST_IP = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Vcpus used</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__VCPUS_USED = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Hypervisor type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__HYPERVISOR_TYPE = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Local gb used</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__LOCAL_GB_USED = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Hypervisor hostname</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__HYPERVISOR_HOSTNAME = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Memory mb used</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__MEMORY_MB_USED = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Memory mb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__MEMORY_MB = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Current workload</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__CURRENT_WORKLOAD = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Vcpus</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__VCPUS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Cpu info</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__CPU_INFO = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Running vms</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__RUNNING_VMS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Free disk gb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__FREE_DISK_GB = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Hypervisor version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__HYPERVISOR_VERSION = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Disk available least</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__DISK_AVAILABLE_LEAST = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Local gb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__LOCAL_GB = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Free ram mb</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__FREE_RAM_MB = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR__ID = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 17;
+
+ /**
+ * The number of structural features of the '<em>Hypervisor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 18;
+
+ /**
+ * The number of operations of the '<em>Hypervisor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HYPERVISOR_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.location.OpenStackVersion <em>Open Stack Version</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.OpenStackVersion
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackVersion()
+ * @generated
+ */
+ int OPEN_STACK_VERSION = 7;
+
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation <em>Open Stack Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Open Stack Location</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation
+ * @generated
+ */
+ EClass getOpenStackLocation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getVersion()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isRemoteLocation <em>Remote Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Remote Location</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#isRemoteLocation()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_RemoteLocation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getRemoteLocationName <em>Remote Location Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Remote Location Name</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getRemoteLocationName()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_RemoteLocationName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isAllowCreateFlavor <em>Allow Create Flavor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Create Flavor</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#isAllowCreateFlavor()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_AllowCreateFlavor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getKeystoneUrl <em>Keystone Url</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Keystone Url</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getKeystoneUrl()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_KeystoneUrl();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getBypassIp <em>Bypass Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Bypass Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getBypassIp()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_BypassIp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavorId <em>Flavor Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Flavor Id</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavorId()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_FlavorId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsSecurityGroups <em>Supports Security Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Supports Security Groups</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsSecurityGroups()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_SupportsSecurityGroups();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsFloatingIps <em>Supports Floating Ips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Supports Floating Ips</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsFloatingIps()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EAttribute getOpenStackLocation_SupportsFloatingIps();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getProjects <em>Projects</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Projects</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getProjects()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EReference getOpenStackLocation_Projects();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getUsers <em>Users</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Users</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getUsers()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EReference getOpenStackLocation_Users();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getImages <em>Images</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Images</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getImages()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EReference getOpenStackLocation_Images();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavors <em>Flavors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Flavors</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavors()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EReference getOpenStackLocation_Flavors();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getHypervisors <em>Hypervisors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Hypervisors</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#getHypervisors()
+ * @see #getOpenStackLocation()
+ * @generated
+ */
+ EReference getOpenStackLocation_Hypervisors();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#poll() <em>Poll</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Poll</em>' operation.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#poll()
+ * @generated
+ */
+ EOperation getOpenStackLocation__Poll();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#mergeLocation(org.openecomp.ncomp.openstack.location.OpenStackLocation) <em>Merge Location</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Merge Location</em>' operation.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation#mergeLocation(org.openecomp.ncomp.openstack.location.OpenStackLocation)
+ * @generated
+ */
+ EOperation getOpenStackLocation__MergeLocation__OpenStackLocation();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.OpenStackProject <em>Open Stack Project</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Open Stack Project</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject
+ * @generated
+ */
+ EClass getOpenStackProject();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getID <em>ID</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>ID</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getID()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_ID();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getAdminUser <em>Admin User</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin User</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getAdminUser()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_AdminUser();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getTenantId <em>Tenant Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant Id</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getTenantId()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_TenantId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getRegion <em>Region</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Region</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getRegion()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_Region();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPrivateNetwork <em>Private Network</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Private Network</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getPrivateNetwork()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_PrivateNetwork();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPublicNetwork <em>Public Network</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Public Network</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getPublicNetwork()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_PublicNetwork();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getApiKey <em>Api Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Api Key</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getApiKey()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EAttribute getOpenStackProject_ApiKey();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getServers <em>Servers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Servers</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getServers()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Servers();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getUsers <em>Users</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Users</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getUsers()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Users();
+
+ /**
+ * Returns the meta object for the reference '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getControllerUser <em>Controller User</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Controller User</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getControllerUser()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_ControllerUser();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getVolumes <em>Volumes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Volumes</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getVolumes()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Volumes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getIps <em>Ips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ips</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getIps()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Ips();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getGroups <em>Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Groups</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getGroups()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Groups();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getKeypairs <em>Keypairs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Keypairs</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getKeypairs()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Keypairs();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getNetworks <em>Networks</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Networks</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getNetworks()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Networks();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getSubnets <em>Subnets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Subnets</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getSubnets()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Subnets();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getRouters <em>Routers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Routers</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getRouters()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Routers();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPorts <em>Ports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ports</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getPorts()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Ports();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getSecurity_groups <em>Security groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Security groups</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getSecurity_groups()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Security_groups();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getFloatingips <em>Floatingips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Floatingips</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#getFloatingips()
+ * @see #getOpenStackProject()
+ * @generated
+ */
+ EReference getOpenStackProject_Floatingips();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#updateNovaState() <em>Update Nova State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Update Nova State</em>' operation.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#updateNovaState()
+ * @generated
+ */
+ EOperation getOpenStackProject__UpdateNovaState();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest) <em>Create Network</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Network</em>' operation.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject#createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest)
+ * @generated
+ */
+ EOperation getOpenStackProject__CreateNetwork__CreateNetworkRequest();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.OpenStackUser <em>Open Stack User</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Open Stack User</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackUser
+ * @generated
+ */
+ EClass getOpenStackUser();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.OpenStackUser#getPassword <em>Password</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Password</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackUser#getPassword()
+ * @see #getOpenStackUser()
+ * @generated
+ */
+ EAttribute getOpenStackUser_Password();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.HypervisorService <em>Hypervisor Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hypervisor Service</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorService
+ * @generated
+ */
+ EClass getHypervisorService();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorService#getHost <em>Host</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Host</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorService#getHost()
+ * @see #getHypervisorService()
+ * @generated
+ */
+ EAttribute getHypervisorService_Host();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorService#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorService#getId()
+ * @see #getHypervisorService()
+ * @generated
+ */
+ EAttribute getHypervisorService_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology <em>Hypervisor Cpu Topology</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hypervisor Cpu Topology</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuTopology
+ * @generated
+ */
+ EClass getHypervisorCpuTopology();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getCores <em>Cores</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cores</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getCores()
+ * @see #getHypervisorCpuTopology()
+ * @generated
+ */
+ EAttribute getHypervisorCpuTopology_Cores();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getThreads <em>Threads</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Threads</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getThreads()
+ * @see #getHypervisorCpuTopology()
+ * @generated
+ */
+ EAttribute getHypervisorCpuTopology_Threads();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getSockets <em>Sockets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Sockets</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuTopology#getSockets()
+ * @see #getHypervisorCpuTopology()
+ * @generated
+ */
+ EAttribute getHypervisorCpuTopology_Sockets();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo <em>Hypervisor Cpu Info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hypervisor Cpu Info</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo
+ * @generated
+ */
+ EClass getHypervisorCpuInfo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getVendor <em>Vendor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vendor</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getVendor()
+ * @see #getHypervisorCpuInfo()
+ * @generated
+ */
+ EAttribute getHypervisorCpuInfo_Vendor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getModel <em>Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Model</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getModel()
+ * @see #getHypervisorCpuInfo()
+ * @generated
+ */
+ EAttribute getHypervisorCpuInfo_Model();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getArch <em>Arch</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Arch</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getArch()
+ * @see #getHypervisorCpuInfo()
+ * @generated
+ */
+ EAttribute getHypervisorCpuInfo_Arch();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getFeatures <em>Features</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Features</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getFeatures()
+ * @see #getHypervisorCpuInfo()
+ * @generated
+ */
+ EAttribute getHypervisorCpuInfo_Features();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getTopology <em>Topology</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Topology</em>'.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo#getTopology()
+ * @see #getHypervisorCpuInfo()
+ * @generated
+ */
+ EReference getHypervisorCpuInfo_Topology();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.location.Hypervisor <em>Hypervisor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hypervisor</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor
+ * @generated
+ */
+ EClass getHypervisor();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Service</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getService()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EReference getHypervisor_Service();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHost_ip <em>Host ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Host ip</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getHost_ip()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Host_ip();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus_used <em>Vcpus used</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vcpus used</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus_used()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Vcpus_used();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_type <em>Hypervisor type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hypervisor type</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_type()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Hypervisor_type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb_used <em>Local gb used</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Local gb used</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb_used()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Local_gb_used();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_hostname <em>Hypervisor hostname</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hypervisor hostname</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_hostname()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Hypervisor_hostname();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb_used <em>Memory mb used</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Memory mb used</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb_used()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Memory_mb_used();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb <em>Memory mb</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Memory mb</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getMemory_mb()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Memory_mb();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getCurrent_workload <em>Current workload</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Current workload</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getCurrent_workload()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Current_workload();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus <em>Vcpus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vcpus</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getVcpus()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Vcpus();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getCpu_info <em>Cpu info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Cpu info</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getCpu_info()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EReference getHypervisor_Cpu_info();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getRunning_vms <em>Running vms</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Running vms</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getRunning_vms()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Running_vms();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getFree_disk_gb <em>Free disk gb</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Free disk gb</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getFree_disk_gb()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Free_disk_gb();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_version <em>Hypervisor version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hypervisor version</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getHypervisor_version()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Hypervisor_version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getDisk_available_least <em>Disk available least</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Disk available least</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getDisk_available_least()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Disk_available_least();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb <em>Local gb</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Local gb</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getLocal_gb()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Local_gb();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getFree_ram_mb <em>Free ram mb</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Free ram mb</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getFree_ram_mb()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Free_ram_mb();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.location.Hypervisor#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor#getId()
+ * @see #getHypervisor()
+ * @generated
+ */
+ EAttribute getHypervisor_Id();
+
+ /**
+ * Returns the meta object for enum '{@link org.openecomp.ncomp.openstack.location.OpenStackVersion <em>Open Stack Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Open Stack Version</em>'.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackVersion
+ * @generated
+ */
+ EEnum getOpenStackVersion();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ LocationFactory getLocationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl <em>Open Stack Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackLocation()
+ * @generated
+ */
+ EClass OPEN_STACK_LOCATION = eINSTANCE.getOpenStackLocation();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__VERSION = eINSTANCE.getOpenStackLocation_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Remote Location</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__REMOTE_LOCATION = eINSTANCE.getOpenStackLocation_RemoteLocation();
+
+ /**
+ * The meta object literal for the '<em><b>Remote Location Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME = eINSTANCE.getOpenStackLocation_RemoteLocationName();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Create Flavor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR = eINSTANCE.getOpenStackLocation_AllowCreateFlavor();
+
+ /**
+ * The meta object literal for the '<em><b>Keystone Url</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__KEYSTONE_URL = eINSTANCE.getOpenStackLocation_KeystoneUrl();
+
+ /**
+ * The meta object literal for the '<em><b>Bypass Ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__BYPASS_IP = eINSTANCE.getOpenStackLocation_BypassIp();
+
+ /**
+ * The meta object literal for the '<em><b>Flavor Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__FLAVOR_ID = eINSTANCE.getOpenStackLocation_FlavorId();
+
+ /**
+ * The meta object literal for the '<em><b>Supports Security Groups</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS = eINSTANCE.getOpenStackLocation_SupportsSecurityGroups();
+
+ /**
+ * The meta object literal for the '<em><b>Supports Floating Ips</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS = eINSTANCE.getOpenStackLocation_SupportsFloatingIps();
+
+ /**
+ * The meta object literal for the '<em><b>Projects</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_LOCATION__PROJECTS = eINSTANCE.getOpenStackLocation_Projects();
+
+ /**
+ * The meta object literal for the '<em><b>Users</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_LOCATION__USERS = eINSTANCE.getOpenStackLocation_Users();
+
+ /**
+ * The meta object literal for the '<em><b>Images</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_LOCATION__IMAGES = eINSTANCE.getOpenStackLocation_Images();
+
+ /**
+ * The meta object literal for the '<em><b>Flavors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_LOCATION__FLAVORS = eINSTANCE.getOpenStackLocation_Flavors();
+
+ /**
+ * The meta object literal for the '<em><b>Hypervisors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_LOCATION__HYPERVISORS = eINSTANCE.getOpenStackLocation_Hypervisors();
+
+ /**
+ * The meta object literal for the '<em><b>Poll</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation OPEN_STACK_LOCATION___POLL = eINSTANCE.getOpenStackLocation__Poll();
+
+ /**
+ * The meta object literal for the '<em><b>Merge Location</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation OPEN_STACK_LOCATION___MERGE_LOCATION__OPENSTACKLOCATION = eINSTANCE.getOpenStackLocation__MergeLocation__OpenStackLocation();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl <em>Open Stack Project</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackProject()
+ * @generated
+ */
+ EClass OPEN_STACK_PROJECT = eINSTANCE.getOpenStackProject();
+
+ /**
+ * The meta object literal for the '<em><b>ID</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__ID = eINSTANCE.getOpenStackProject_ID();
+
+ /**
+ * The meta object literal for the '<em><b>Admin User</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__ADMIN_USER = eINSTANCE.getOpenStackProject_AdminUser();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__TENANT_ID = eINSTANCE.getOpenStackProject_TenantId();
+
+ /**
+ * The meta object literal for the '<em><b>Region</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__REGION = eINSTANCE.getOpenStackProject_Region();
+
+ /**
+ * The meta object literal for the '<em><b>Private Network</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__PRIVATE_NETWORK = eINSTANCE.getOpenStackProject_PrivateNetwork();
+
+ /**
+ * The meta object literal for the '<em><b>Public Network</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__PUBLIC_NETWORK = eINSTANCE.getOpenStackProject_PublicNetwork();
+
+ /**
+ * The meta object literal for the '<em><b>Api Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_PROJECT__API_KEY = eINSTANCE.getOpenStackProject_ApiKey();
+
+ /**
+ * The meta object literal for the '<em><b>Servers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__SERVERS = eINSTANCE.getOpenStackProject_Servers();
+
+ /**
+ * The meta object literal for the '<em><b>Users</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__USERS = eINSTANCE.getOpenStackProject_Users();
+
+ /**
+ * The meta object literal for the '<em><b>Controller User</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__CONTROLLER_USER = eINSTANCE.getOpenStackProject_ControllerUser();
+
+ /**
+ * The meta object literal for the '<em><b>Volumes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__VOLUMES = eINSTANCE.getOpenStackProject_Volumes();
+
+ /**
+ * The meta object literal for the '<em><b>Ips</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__IPS = eINSTANCE.getOpenStackProject_Ips();
+
+ /**
+ * The meta object literal for the '<em><b>Groups</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__GROUPS = eINSTANCE.getOpenStackProject_Groups();
+
+ /**
+ * The meta object literal for the '<em><b>Keypairs</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__KEYPAIRS = eINSTANCE.getOpenStackProject_Keypairs();
+
+ /**
+ * The meta object literal for the '<em><b>Networks</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__NETWORKS = eINSTANCE.getOpenStackProject_Networks();
+
+ /**
+ * The meta object literal for the '<em><b>Subnets</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__SUBNETS = eINSTANCE.getOpenStackProject_Subnets();
+
+ /**
+ * The meta object literal for the '<em><b>Routers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__ROUTERS = eINSTANCE.getOpenStackProject_Routers();
+
+ /**
+ * The meta object literal for the '<em><b>Ports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__PORTS = eINSTANCE.getOpenStackProject_Ports();
+
+ /**
+ * The meta object literal for the '<em><b>Security groups</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__SECURITY_GROUPS = eINSTANCE.getOpenStackProject_Security_groups();
+
+ /**
+ * The meta object literal for the '<em><b>Floatingips</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPEN_STACK_PROJECT__FLOATINGIPS = eINSTANCE.getOpenStackProject_Floatingips();
+
+ /**
+ * The meta object literal for the '<em><b>Update Nova State</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation OPEN_STACK_PROJECT___UPDATE_NOVA_STATE = eINSTANCE.getOpenStackProject__UpdateNovaState();
+
+ /**
+ * The meta object literal for the '<em><b>Create Network</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation OPEN_STACK_PROJECT___CREATE_NETWORK__CREATENETWORKREQUEST = eINSTANCE.getOpenStackProject__CreateNetwork__CreateNetworkRequest();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.OpenStackUserImpl <em>Open Stack User</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.OpenStackUserImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackUser()
+ * @generated
+ */
+ EClass OPEN_STACK_USER = eINSTANCE.getOpenStackUser();
+
+ /**
+ * The meta object literal for the '<em><b>Password</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPEN_STACK_USER__PASSWORD = eINSTANCE.getOpenStackUser_Password();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorServiceImpl <em>Hypervisor Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorServiceImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisorService()
+ * @generated
+ */
+ EClass HYPERVISOR_SERVICE = eINSTANCE.getHypervisorService();
+
+ /**
+ * The meta object literal for the '<em><b>Host</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_SERVICE__HOST = eINSTANCE.getHypervisorService_Host();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_SERVICE__ID = eINSTANCE.getHypervisorService_Id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl <em>Hypervisor Cpu Topology</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisorCpuTopology()
+ * @generated
+ */
+ EClass HYPERVISOR_CPU_TOPOLOGY = eINSTANCE.getHypervisorCpuTopology();
+
+ /**
+ * The meta object literal for the '<em><b>Cores</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_TOPOLOGY__CORES = eINSTANCE.getHypervisorCpuTopology_Cores();
+
+ /**
+ * The meta object literal for the '<em><b>Threads</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_TOPOLOGY__THREADS = eINSTANCE.getHypervisorCpuTopology_Threads();
+
+ /**
+ * The meta object literal for the '<em><b>Sockets</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_TOPOLOGY__SOCKETS = eINSTANCE.getHypervisorCpuTopology_Sockets();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl <em>Hypervisor Cpu Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisorCpuInfo()
+ * @generated
+ */
+ EClass HYPERVISOR_CPU_INFO = eINSTANCE.getHypervisorCpuInfo();
+
+ /**
+ * The meta object literal for the '<em><b>Vendor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_INFO__VENDOR = eINSTANCE.getHypervisorCpuInfo_Vendor();
+
+ /**
+ * The meta object literal for the '<em><b>Model</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_INFO__MODEL = eINSTANCE.getHypervisorCpuInfo_Model();
+
+ /**
+ * The meta object literal for the '<em><b>Arch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_INFO__ARCH = eINSTANCE.getHypervisorCpuInfo_Arch();
+
+ /**
+ * The meta object literal for the '<em><b>Features</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR_CPU_INFO__FEATURES = eINSTANCE.getHypervisorCpuInfo_Features();
+
+ /**
+ * The meta object literal for the '<em><b>Topology</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HYPERVISOR_CPU_INFO__TOPOLOGY = eINSTANCE.getHypervisorCpuInfo_Topology();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl <em>Hypervisor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.impl.HypervisorImpl
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getHypervisor()
+ * @generated
+ */
+ EClass HYPERVISOR = eINSTANCE.getHypervisor();
+
+ /**
+ * The meta object literal for the '<em><b>Service</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HYPERVISOR__SERVICE = eINSTANCE.getHypervisor_Service();
+
+ /**
+ * The meta object literal for the '<em><b>Host ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__HOST_IP = eINSTANCE.getHypervisor_Host_ip();
+
+ /**
+ * The meta object literal for the '<em><b>Vcpus used</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__VCPUS_USED = eINSTANCE.getHypervisor_Vcpus_used();
+
+ /**
+ * The meta object literal for the '<em><b>Hypervisor type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__HYPERVISOR_TYPE = eINSTANCE.getHypervisor_Hypervisor_type();
+
+ /**
+ * The meta object literal for the '<em><b>Local gb used</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__LOCAL_GB_USED = eINSTANCE.getHypervisor_Local_gb_used();
+
+ /**
+ * The meta object literal for the '<em><b>Hypervisor hostname</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__HYPERVISOR_HOSTNAME = eINSTANCE.getHypervisor_Hypervisor_hostname();
+
+ /**
+ * The meta object literal for the '<em><b>Memory mb used</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__MEMORY_MB_USED = eINSTANCE.getHypervisor_Memory_mb_used();
+
+ /**
+ * The meta object literal for the '<em><b>Memory mb</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__MEMORY_MB = eINSTANCE.getHypervisor_Memory_mb();
+
+ /**
+ * The meta object literal for the '<em><b>Current workload</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__CURRENT_WORKLOAD = eINSTANCE.getHypervisor_Current_workload();
+
+ /**
+ * The meta object literal for the '<em><b>Vcpus</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__VCPUS = eINSTANCE.getHypervisor_Vcpus();
+
+ /**
+ * The meta object literal for the '<em><b>Cpu info</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HYPERVISOR__CPU_INFO = eINSTANCE.getHypervisor_Cpu_info();
+
+ /**
+ * The meta object literal for the '<em><b>Running vms</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__RUNNING_VMS = eINSTANCE.getHypervisor_Running_vms();
+
+ /**
+ * The meta object literal for the '<em><b>Free disk gb</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__FREE_DISK_GB = eINSTANCE.getHypervisor_Free_disk_gb();
+
+ /**
+ * The meta object literal for the '<em><b>Hypervisor version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__HYPERVISOR_VERSION = eINSTANCE.getHypervisor_Hypervisor_version();
+
+ /**
+ * The meta object literal for the '<em><b>Disk available least</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__DISK_AVAILABLE_LEAST = eINSTANCE.getHypervisor_Disk_available_least();
+
+ /**
+ * The meta object literal for the '<em><b>Local gb</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__LOCAL_GB = eINSTANCE.getHypervisor_Local_gb();
+
+ /**
+ * The meta object literal for the '<em><b>Free ram mb</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__FREE_RAM_MB = eINSTANCE.getHypervisor_Free_ram_mb();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HYPERVISOR__ID = eINSTANCE.getHypervisor_Id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.location.OpenStackVersion <em>Open Stack Version</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.OpenStackVersion
+ * @see org.openecomp.ncomp.openstack.location.impl.LocationPackageImpl#getOpenStackVersion()
+ * @generated
+ */
+ EEnum OPEN_STACK_VERSION = eINSTANCE.getOpenStackVersion();
+
+ }
+
+} //LocationPackage
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackLocation.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackLocation.java
new file mode 100644
index 0000000..0d15f9e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackLocation.java
@@ -0,0 +1,404 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService;
+import org.openecomp.ncomp.openstack.compute.ComputeService;
+import org.openecomp.ncomp.openstack.compute.Flavor;
+import org.openecomp.ncomp.openstack.compute.Image;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronService;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Open Stack Location</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getVersion <em>Version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isRemoteLocation <em>Remote Location</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getRemoteLocationName <em>Remote Location Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isAllowCreateFlavor <em>Allow Create Flavor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getKeystoneUrl <em>Keystone Url</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getBypassIp <em>Bypass Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavorId <em>Flavor Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsSecurityGroups <em>Supports Security Groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsFloatingIps <em>Supports Floating Ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getProjects <em>Projects</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getUsers <em>Users</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getImages <em>Images</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavors <em>Flavors</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getHypervisors <em>Hypervisors</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation()
+ * @model
+ * @generated
+ */
+public interface OpenStackLocation extends NamedEntity, NeutronService, ComputeService, CeilometerService {
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * The literals are from the enumeration {@link org.openecomp.ncomp.openstack.location.OpenStackVersion}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackVersion
+ * @see #setVersion(OpenStackVersion)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_Version()
+ * @model unique="false"
+ * @generated
+ */
+ OpenStackVersion getVersion();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackVersion
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(OpenStackVersion value);
+
+ /**
+ * Returns the value of the '<em><b>Remote Location</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Remote Location</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Remote Location</em>' attribute.
+ * @see #setRemoteLocation(boolean)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_RemoteLocation()
+ * @model default="false" unique="false"
+ * @generated
+ */
+ boolean isRemoteLocation();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isRemoteLocation <em>Remote Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Remote Location</em>' attribute.
+ * @see #isRemoteLocation()
+ * @generated
+ */
+ void setRemoteLocation(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Remote Location Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Remote Location Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Remote Location Name</em>' attribute.
+ * @see #setRemoteLocationName(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_RemoteLocationName()
+ * @model unique="false"
+ * @generated
+ */
+ String getRemoteLocationName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getRemoteLocationName <em>Remote Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Remote Location Name</em>' attribute.
+ * @see #getRemoteLocationName()
+ * @generated
+ */
+ void setRemoteLocationName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Allow Create Flavor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Create Flavor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Create Flavor</em>' attribute.
+ * @see #setAllowCreateFlavor(boolean)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_AllowCreateFlavor()
+ * @model unique="false"
+ * @generated
+ */
+ boolean isAllowCreateFlavor();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isAllowCreateFlavor <em>Allow Create Flavor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Create Flavor</em>' attribute.
+ * @see #isAllowCreateFlavor()
+ * @generated
+ */
+ void setAllowCreateFlavor(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Keystone Url</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Keystone Url</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Keystone Url</em>' attribute.
+ * @see #setKeystoneUrl(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_KeystoneUrl()
+ * @model unique="false"
+ * @generated
+ */
+ String getKeystoneUrl();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getKeystoneUrl <em>Keystone Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Keystone Url</em>' attribute.
+ * @see #getKeystoneUrl()
+ * @generated
+ */
+ void setKeystoneUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bypass Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bypass Ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bypass Ip</em>' attribute.
+ * @see #setBypassIp(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_BypassIp()
+ * @model unique="false"
+ * @generated
+ */
+ String getBypassIp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getBypassIp <em>Bypass Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bypass Ip</em>' attribute.
+ * @see #getBypassIp()
+ * @generated
+ */
+ void setBypassIp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Flavor Id</b></em>' attribute.
+ * The default value is <code>"20000"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flavor Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flavor Id</em>' attribute.
+ * @see #setFlavorId(int)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_FlavorId()
+ * @model default="20000" unique="false"
+ * @generated
+ */
+ int getFlavorId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#getFlavorId <em>Flavor Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Flavor Id</em>' attribute.
+ * @see #getFlavorId()
+ * @generated
+ */
+ void setFlavorId(int value);
+
+ /**
+ * Returns the value of the '<em><b>Supports Security Groups</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Supports Security Groups</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Supports Security Groups</em>' attribute.
+ * @see #setSupportsSecurityGroups(boolean)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_SupportsSecurityGroups()
+ * @model default="true" unique="false"
+ * @generated
+ */
+ boolean isSupportsSecurityGroups();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsSecurityGroups <em>Supports Security Groups</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Supports Security Groups</em>' attribute.
+ * @see #isSupportsSecurityGroups()
+ * @generated
+ */
+ void setSupportsSecurityGroups(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Supports Floating Ips</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Supports Floating Ips</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Supports Floating Ips</em>' attribute.
+ * @see #setSupportsFloatingIps(boolean)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_SupportsFloatingIps()
+ * @model default="true" unique="false"
+ * @generated
+ */
+ boolean isSupportsFloatingIps();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation#isSupportsFloatingIps <em>Supports Floating Ips</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Supports Floating Ips</em>' attribute.
+ * @see #isSupportsFloatingIps()
+ * @generated
+ */
+ void setSupportsFloatingIps(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Projects</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.location.OpenStackProject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Projects</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Projects</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_Projects()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<OpenStackProject> getProjects();
+
+ /**
+ * Returns the value of the '<em><b>Users</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.location.OpenStackUser}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Users</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Users</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_Users()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<OpenStackUser> getUsers();
+
+ /**
+ * Returns the value of the '<em><b>Images</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Image}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Images</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Images</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_Images()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Image> getImages();
+
+ /**
+ * Returns the value of the '<em><b>Flavors</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Flavor}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flavors</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flavors</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_Flavors()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Flavor> getFlavors();
+
+ /**
+ * Returns the value of the '<em><b>Hypervisors</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.location.Hypervisor}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hypervisors</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hypervisors</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackLocation_Hypervisors()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Hypervisor> getHypervisors();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void poll();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model locUnique="false"
+ * @generated
+ */
+ void mergeLocation(OpenStackLocation loc);
+
+} // OpenStackLocation
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackProject.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackProject.java
new file mode 100644
index 0000000..7cb85a2
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackProject.java
@@ -0,0 +1,497 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject;
+import org.openecomp.ncomp.openstack.compute.FloatingIp;
+import org.openecomp.ncomp.openstack.compute.KeyPair;
+import org.openecomp.ncomp.openstack.compute.SecurityGroup;
+import org.openecomp.ncomp.openstack.compute.Server;
+import org.openecomp.ncomp.openstack.compute.Volume;
+
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup;
+import org.openecomp.ncomp.openstack.neutron.Port;
+import org.openecomp.ncomp.openstack.neutron.Router;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Open Stack Project</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getID <em>ID</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getAdminUser <em>Admin User</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getTenantId <em>Tenant Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getRegion <em>Region</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPrivateNetwork <em>Private Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPublicNetwork <em>Public Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getApiKey <em>Api Key</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getServers <em>Servers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getUsers <em>Users</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getControllerUser <em>Controller User</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getVolumes <em>Volumes</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getIps <em>Ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getGroups <em>Groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getKeypairs <em>Keypairs</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getNetworks <em>Networks</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getSubnets <em>Subnets</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getRouters <em>Routers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getSecurity_groups <em>Security groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getFloatingips <em>Floatingips</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject()
+ * @model
+ * @generated
+ */
+public interface OpenStackProject extends NamedEntity, CeilometerProject {
+ /**
+ * Returns the value of the '<em><b>ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>ID</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>ID</em>' attribute.
+ * @see #setID(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_ID()
+ * @model unique="false"
+ * @generated
+ */
+ String getID();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getID <em>ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>ID</em>' attribute.
+ * @see #getID()
+ * @generated
+ */
+ void setID(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin User</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin User</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin User</em>' attribute.
+ * @see #setAdminUser(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_AdminUser()
+ * @model unique="false"
+ * @generated
+ */
+ String getAdminUser();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getAdminUser <em>Admin User</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin User</em>' attribute.
+ * @see #getAdminUser()
+ * @generated
+ */
+ void setAdminUser(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant Id</em>' attribute.
+ * @see #setTenantId(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_TenantId()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenantId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getTenantId <em>Tenant Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant Id</em>' attribute.
+ * @see #getTenantId()
+ * @generated
+ */
+ void setTenantId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Region</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Region</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Region</em>' attribute.
+ * @see #setRegion(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Region()
+ * @model unique="false"
+ * @generated
+ */
+ String getRegion();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getRegion <em>Region</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Region</em>' attribute.
+ * @see #getRegion()
+ * @generated
+ */
+ void setRegion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Private Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Private Network</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Private Network</em>' attribute.
+ * @see #setPrivateNetwork(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_PrivateNetwork()
+ * @model unique="false"
+ * @generated
+ */
+ String getPrivateNetwork();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPrivateNetwork <em>Private Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Private Network</em>' attribute.
+ * @see #getPrivateNetwork()
+ * @generated
+ */
+ void setPrivateNetwork(String value);
+
+ /**
+ * Returns the value of the '<em><b>Public Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Public Network</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Public Network</em>' attribute.
+ * @see #setPublicNetwork(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_PublicNetwork()
+ * @model unique="false"
+ * @generated
+ */
+ String getPublicNetwork();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getPublicNetwork <em>Public Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Public Network</em>' attribute.
+ * @see #getPublicNetwork()
+ * @generated
+ */
+ void setPublicNetwork(String value);
+
+ /**
+ * Returns the value of the '<em><b>Api Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Api Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Api Key</em>' attribute.
+ * @see #setApiKey(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_ApiKey()
+ * @model unique="false"
+ * @generated
+ */
+ String getApiKey();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getApiKey <em>Api Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Api Key</em>' attribute.
+ * @see #getApiKey()
+ * @generated
+ */
+ void setApiKey(String value);
+
+ /**
+ * Returns the value of the '<em><b>Servers</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Server}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Servers</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Servers</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Servers()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Server> getServers();
+
+ /**
+ * Returns the value of the '<em><b>Users</b></em>' reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.location.OpenStackUser}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Users</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Users</em>' reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Users()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<OpenStackUser> getUsers();
+
+ /**
+ * Returns the value of the '<em><b>Controller User</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Controller User</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Controller User</em>' reference.
+ * @see #setControllerUser(OpenStackUser)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_ControllerUser()
+ * @model
+ * @generated
+ */
+ OpenStackUser getControllerUser();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackProject#getControllerUser <em>Controller User</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Controller User</em>' reference.
+ * @see #getControllerUser()
+ * @generated
+ */
+ void setControllerUser(OpenStackUser value);
+
+ /**
+ * Returns the value of the '<em><b>Volumes</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.Volume}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Volumes</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Volumes</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Volumes()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Volume> getVolumes();
+
+ /**
+ * Returns the value of the '<em><b>Ips</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.FloatingIp}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ips</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ips</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Ips()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<FloatingIp> getIps();
+
+ /**
+ * Returns the value of the '<em><b>Groups</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.SecurityGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Groups</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Groups</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Groups()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<SecurityGroup> getGroups();
+
+ /**
+ * Returns the value of the '<em><b>Keypairs</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.compute.KeyPair}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Keypairs</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Keypairs</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Keypairs()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<KeyPair> getKeypairs();
+
+ /**
+ * Returns the value of the '<em><b>Networks</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.Network}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Networks</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Networks</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Networks()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Network> getNetworks();
+
+ /**
+ * Returns the value of the '<em><b>Subnets</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.Subnet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subnets</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Subnets</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Subnets()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Subnet> getSubnets();
+
+ /**
+ * Returns the value of the '<em><b>Routers</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.Router}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Routers</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Routers</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Routers()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Router> getRouters();
+
+ /**
+ * Returns the value of the '<em><b>Ports</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.Port}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ports</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ports</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Ports()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Port> getPorts();
+
+ /**
+ * Returns the value of the '<em><b>Security groups</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Security groups</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Security groups</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Security_groups()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<NeutronSecurityGroup> getSecurity_groups();
+
+ /**
+ * Returns the value of the '<em><b>Floatingips</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Floatingips</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Floatingips</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackProject_Floatingips()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<NeutronFloatingIp> getFloatingips();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void updateNovaState();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" rUnique="false"
+ * @generated
+ */
+ Network createNetwork(CreateNetworkRequest r);
+
+} // OpenStackProject
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackUser.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackUser.java
new file mode 100644
index 0000000..dd69e1c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackUser.java
@@ -0,0 +1,72 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Open Stack User</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.OpenStackUser#getPassword <em>Password</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackUser()
+ * @model
+ * @generated
+ */
+public interface OpenStackUser extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Password</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Password</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Password</em>' attribute.
+ * @see #setPassword(String)
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackUser_Password()
+ * @model unique="false" transient="true"
+ * annotation="http://openecomp.org/sirius/persistence propertyFile='bsa.properties'"
+ * @generated
+ */
+ String getPassword();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.location.OpenStackUser#getPassword <em>Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Password</em>' attribute.
+ * @see #getPassword()
+ * @generated
+ */
+ void setPassword(String value);
+
+} // OpenStackUser
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackVersion.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackVersion.java
new file mode 100644
index 0000000..2a4184b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/OpenStackVersion.java
@@ -0,0 +1,370 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Open Stack Version</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#getOpenStackVersion()
+ * @model
+ * @generated
+ */
+public enum OpenStackVersion implements Enumerator {
+ /**
+ * The '<em><b>Folsom</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FOLSOM_VALUE
+ * @generated
+ * @ordered
+ */
+ FOLSOM(0, "Folsom", "Folsom"), /**
+ * The '<em><b>Grizzly</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #GRIZZLY_VALUE
+ * @generated
+ * @ordered
+ */
+ GRIZZLY(0, "Grizzly", "Grizzly"), /**
+ * The '<em><b>Havana</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HAVANA_VALUE
+ * @generated
+ * @ordered
+ */
+ HAVANA(0, "Havana", "Havana"), /**
+ * The '<em><b>Icehouse</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ICEHOUSE_VALUE
+ * @generated
+ * @ordered
+ */
+ ICEHOUSE(0, "Icehouse", "Icehouse"), /**
+ * The '<em><b>Juno</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #JUNO_VALUE
+ * @generated
+ * @ordered
+ */
+ JUNO(0, "Juno", "Juno"), /**
+ * The '<em><b>Kilo</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #KILO_VALUE
+ * @generated
+ * @ordered
+ */
+ KILO(0, "Kilo", "Kilo"), /**
+ * The '<em><b>Liberty</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LIBERTY_VALUE
+ * @generated
+ * @ordered
+ */
+ LIBERTY(0, "Liberty", "Liberty"), /**
+ * The '<em><b>Mitaka</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MITAKA_VALUE
+ * @generated
+ * @ordered
+ */
+ MITAKA(0, "Mitaka", "Mitaka");
+
+ /**
+ * The '<em><b>Folsom</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Folsom</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FOLSOM
+ * @model name="Folsom"
+ * @generated
+ * @ordered
+ */
+ public static final int FOLSOM_VALUE = 0;
+
+ /**
+ * The '<em><b>Grizzly</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Grizzly</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #GRIZZLY
+ * @model name="Grizzly"
+ * @generated
+ * @ordered
+ */
+ public static final int GRIZZLY_VALUE = 0;
+
+ /**
+ * The '<em><b>Havana</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Havana</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HAVANA
+ * @model name="Havana"
+ * @generated
+ * @ordered
+ */
+ public static final int HAVANA_VALUE = 0;
+
+ /**
+ * The '<em><b>Icehouse</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Icehouse</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ICEHOUSE
+ * @model name="Icehouse"
+ * @generated
+ * @ordered
+ */
+ public static final int ICEHOUSE_VALUE = 0;
+
+ /**
+ * The '<em><b>Juno</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Juno</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #JUNO
+ * @model name="Juno"
+ * @generated
+ * @ordered
+ */
+ public static final int JUNO_VALUE = 0;
+
+ /**
+ * The '<em><b>Kilo</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Kilo</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #KILO
+ * @model name="Kilo"
+ * @generated
+ * @ordered
+ */
+ public static final int KILO_VALUE = 0;
+
+ /**
+ * The '<em><b>Liberty</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Liberty</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LIBERTY
+ * @model name="Liberty"
+ * @generated
+ * @ordered
+ */
+ public static final int LIBERTY_VALUE = 0;
+
+ /**
+ * The '<em><b>Mitaka</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Mitaka</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MITAKA
+ * @model name="Mitaka"
+ * @generated
+ * @ordered
+ */
+ public static final int MITAKA_VALUE = 0;
+
+ /**
+ * An array of all the '<em><b>Open Stack Version</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final OpenStackVersion[] VALUES_ARRAY =
+ new OpenStackVersion[] {
+ FOLSOM,
+ GRIZZLY,
+ HAVANA,
+ ICEHOUSE,
+ JUNO,
+ KILO,
+ LIBERTY,
+ MITAKA,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Open Stack Version</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<OpenStackVersion> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Open Stack Version</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OpenStackVersion get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OpenStackVersion result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Open Stack Version</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OpenStackVersion getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OpenStackVersion result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Open Stack Version</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OpenStackVersion get(int value) {
+ switch (value) {
+ case FOLSOM_VALUE: return FOLSOM;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private OpenStackVersion(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //OpenStackVersion
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuInfoImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuInfoImpl.java
new file mode 100644
index 0000000..fa02fa2
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuInfoImpl.java
@@ -0,0 +1,416 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.openstack.location.HypervisorCpuInfo;
+import org.openecomp.ncomp.openstack.location.HypervisorCpuTopology;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hypervisor Cpu Info</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl#getVendor <em>Vendor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl#getModel <em>Model</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl#getArch <em>Arch</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl#getFeatures <em>Features</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuInfoImpl#getTopology <em>Topology</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HypervisorCpuInfoImpl extends MinimalEObjectImpl.Container implements HypervisorCpuInfo {
+ /**
+ * The default value of the '{@link #getVendor() <em>Vendor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVendor()
+ * @generated
+ * @ordered
+ */
+ protected static final String VENDOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVendor() <em>Vendor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVendor()
+ * @generated
+ * @ordered
+ */
+ protected String vendor = VENDOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getModel() <em>Model</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModel()
+ * @generated
+ * @ordered
+ */
+ protected static final String MODEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getModel() <em>Model</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModel()
+ * @generated
+ * @ordered
+ */
+ protected String model = MODEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArch() <em>Arch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArch()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARCH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArch() <em>Arch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArch()
+ * @generated
+ * @ordered
+ */
+ protected String arch = ARCH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFeatures() <em>Features</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> features;
+
+ /**
+ * The cached value of the '{@link #getTopology() <em>Topology</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTopology()
+ * @generated
+ * @ordered
+ */
+ protected HypervisorCpuTopology topology;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HypervisorCpuInfoImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.HYPERVISOR_CPU_INFO;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVendor() {
+ return vendor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVendor(String newVendor) {
+ String oldVendor = vendor;
+ vendor = newVendor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_INFO__VENDOR, oldVendor, vendor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getModel() {
+ return model;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setModel(String newModel) {
+ String oldModel = model;
+ model = newModel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_INFO__MODEL, oldModel, model));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getArch() {
+ return arch;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArch(String newArch) {
+ String oldArch = arch;
+ arch = newArch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_INFO__ARCH, oldArch, arch));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getFeatures() {
+ if (features == null) {
+ features = new EDataTypeEList<String>(String.class, this, LocationPackage.HYPERVISOR_CPU_INFO__FEATURES);
+ }
+ return features;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HypervisorCpuTopology getTopology() {
+ return topology;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTopology(HypervisorCpuTopology newTopology, NotificationChain msgs) {
+ HypervisorCpuTopology oldTopology = topology;
+ topology = newTopology;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY, oldTopology, newTopology);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTopology(HypervisorCpuTopology newTopology) {
+ if (newTopology != topology) {
+ NotificationChain msgs = null;
+ if (topology != null)
+ msgs = ((InternalEObject)topology).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY, null, msgs);
+ if (newTopology != null)
+ msgs = ((InternalEObject)newTopology).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY, null, msgs);
+ msgs = basicSetTopology(newTopology, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY, newTopology, newTopology));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY:
+ return basicSetTopology(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_INFO__VENDOR:
+ return getVendor();
+ case LocationPackage.HYPERVISOR_CPU_INFO__MODEL:
+ return getModel();
+ case LocationPackage.HYPERVISOR_CPU_INFO__ARCH:
+ return getArch();
+ case LocationPackage.HYPERVISOR_CPU_INFO__FEATURES:
+ return getFeatures();
+ case LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY:
+ return getTopology();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_INFO__VENDOR:
+ setVendor((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__MODEL:
+ setModel((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__ARCH:
+ setArch((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__FEATURES:
+ getFeatures().clear();
+ getFeatures().addAll((Collection<? extends String>)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY:
+ setTopology((HypervisorCpuTopology)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_INFO__VENDOR:
+ setVendor(VENDOR_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__MODEL:
+ setModel(MODEL_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__ARCH:
+ setArch(ARCH_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__FEATURES:
+ getFeatures().clear();
+ return;
+ case LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY:
+ setTopology((HypervisorCpuTopology)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_INFO__VENDOR:
+ return VENDOR_EDEFAULT == null ? vendor != null : !VENDOR_EDEFAULT.equals(vendor);
+ case LocationPackage.HYPERVISOR_CPU_INFO__MODEL:
+ return MODEL_EDEFAULT == null ? model != null : !MODEL_EDEFAULT.equals(model);
+ case LocationPackage.HYPERVISOR_CPU_INFO__ARCH:
+ return ARCH_EDEFAULT == null ? arch != null : !ARCH_EDEFAULT.equals(arch);
+ case LocationPackage.HYPERVISOR_CPU_INFO__FEATURES:
+ return features != null && !features.isEmpty();
+ case LocationPackage.HYPERVISOR_CPU_INFO__TOPOLOGY:
+ return topology != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (vendor: ");
+ result.append(vendor);
+ result.append(", model: ");
+ result.append(model);
+ result.append(", arch: ");
+ result.append(arch);
+ result.append(", features: ");
+ result.append(features);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HypervisorCpuInfoImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuTopologyImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuTopologyImpl.java
new file mode 100644
index 0000000..f174236
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorCpuTopologyImpl.java
@@ -0,0 +1,292 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.openstack.location.HypervisorCpuTopology;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hypervisor Cpu Topology</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl#getCores <em>Cores</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl#getThreads <em>Threads</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorCpuTopologyImpl#getSockets <em>Sockets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HypervisorCpuTopologyImpl extends MinimalEObjectImpl.Container implements HypervisorCpuTopology {
+ /**
+ * The default value of the '{@link #getCores() <em>Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCores()
+ * @generated
+ * @ordered
+ */
+ protected static final int CORES_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getCores() <em>Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCores()
+ * @generated
+ * @ordered
+ */
+ protected int cores = CORES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getThreads() <em>Threads</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThreads()
+ * @generated
+ * @ordered
+ */
+ protected static final int THREADS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getThreads() <em>Threads</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThreads()
+ * @generated
+ * @ordered
+ */
+ protected int threads = THREADS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSockets() <em>Sockets</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSockets()
+ * @generated
+ * @ordered
+ */
+ protected static final int SOCKETS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getSockets() <em>Sockets</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSockets()
+ * @generated
+ * @ordered
+ */
+ protected int sockets = SOCKETS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HypervisorCpuTopologyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.HYPERVISOR_CPU_TOPOLOGY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCores() {
+ return cores;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCores(int newCores) {
+ int oldCores = cores;
+ cores = newCores;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_TOPOLOGY__CORES, oldCores, cores));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getThreads() {
+ return threads;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setThreads(int newThreads) {
+ int oldThreads = threads;
+ threads = newThreads;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_TOPOLOGY__THREADS, oldThreads, threads));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getSockets() {
+ return sockets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSockets(int newSockets) {
+ int oldSockets = sockets;
+ sockets = newSockets;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_CPU_TOPOLOGY__SOCKETS, oldSockets, sockets));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__CORES:
+ return getCores();
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__THREADS:
+ return getThreads();
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__SOCKETS:
+ return getSockets();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__CORES:
+ setCores((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__THREADS:
+ setThreads((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__SOCKETS:
+ setSockets((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__CORES:
+ setCores(CORES_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__THREADS:
+ setThreads(THREADS_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__SOCKETS:
+ setSockets(SOCKETS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__CORES:
+ return cores != CORES_EDEFAULT;
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__THREADS:
+ return threads != THREADS_EDEFAULT;
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY__SOCKETS:
+ return sockets != SOCKETS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cores: ");
+ result.append(cores);
+ result.append(", threads: ");
+ result.append(threads);
+ result.append(", sockets: ");
+ result.append(sockets);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HypervisorCpuTopologyImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorImpl.java
new file mode 100644
index 0000000..f857f00
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorImpl.java
@@ -0,0 +1,1143 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.openecomp.ncomp.openstack.location.Hypervisor;
+import org.openecomp.ncomp.openstack.location.HypervisorCpuInfo;
+import org.openecomp.ncomp.openstack.location.HypervisorService;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hypervisor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getService <em>Service</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getHost_ip <em>Host ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getVcpus_used <em>Vcpus used</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getHypervisor_type <em>Hypervisor type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getLocal_gb_used <em>Local gb used</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getHypervisor_hostname <em>Hypervisor hostname</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getMemory_mb_used <em>Memory mb used</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getMemory_mb <em>Memory mb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getCurrent_workload <em>Current workload</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getVcpus <em>Vcpus</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getCpu_info <em>Cpu info</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getRunning_vms <em>Running vms</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getFree_disk_gb <em>Free disk gb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getHypervisor_version <em>Hypervisor version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getDisk_available_least <em>Disk available least</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getLocal_gb <em>Local gb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getFree_ram_mb <em>Free ram mb</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HypervisorImpl extends NamedEntityImpl implements Hypervisor {
+ /**
+ * The cached value of the '{@link #getService() <em>Service</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getService()
+ * @generated
+ * @ordered
+ */
+ protected HypervisorService service;
+
+ /**
+ * The default value of the '{@link #getHost_ip() <em>Host ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost_ip()
+ * @generated
+ * @ordered
+ */
+ protected static final String HOST_IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHost_ip() <em>Host ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost_ip()
+ * @generated
+ * @ordered
+ */
+ protected String host_ip = HOST_IP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVcpus_used() <em>Vcpus used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVcpus_used()
+ * @generated
+ * @ordered
+ */
+ protected static final int VCPUS_USED_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVcpus_used() <em>Vcpus used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVcpus_used()
+ * @generated
+ * @ordered
+ */
+ protected int vcpus_used = VCPUS_USED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHypervisor_type() <em>Hypervisor type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor_type()
+ * @generated
+ * @ordered
+ */
+ protected static final String HYPERVISOR_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHypervisor_type() <em>Hypervisor type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor_type()
+ * @generated
+ * @ordered
+ */
+ protected String hypervisor_type = HYPERVISOR_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLocal_gb_used() <em>Local gb used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocal_gb_used()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOCAL_GB_USED_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getLocal_gb_used() <em>Local gb used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocal_gb_used()
+ * @generated
+ * @ordered
+ */
+ protected int local_gb_used = LOCAL_GB_USED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHypervisor_hostname() <em>Hypervisor hostname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor_hostname()
+ * @generated
+ * @ordered
+ */
+ protected static final String HYPERVISOR_HOSTNAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHypervisor_hostname() <em>Hypervisor hostname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor_hostname()
+ * @generated
+ * @ordered
+ */
+ protected String hypervisor_hostname = HYPERVISOR_HOSTNAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMemory_mb_used() <em>Memory mb used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemory_mb_used()
+ * @generated
+ * @ordered
+ */
+ protected static final int MEMORY_MB_USED_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMemory_mb_used() <em>Memory mb used</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemory_mb_used()
+ * @generated
+ * @ordered
+ */
+ protected int memory_mb_used = MEMORY_MB_USED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMemory_mb() <em>Memory mb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemory_mb()
+ * @generated
+ * @ordered
+ */
+ protected static final int MEMORY_MB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMemory_mb() <em>Memory mb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemory_mb()
+ * @generated
+ * @ordered
+ */
+ protected int memory_mb = MEMORY_MB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCurrent_workload() <em>Current workload</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCurrent_workload()
+ * @generated
+ * @ordered
+ */
+ protected static final int CURRENT_WORKLOAD_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getCurrent_workload() <em>Current workload</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCurrent_workload()
+ * @generated
+ * @ordered
+ */
+ protected int current_workload = CURRENT_WORKLOAD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVcpus() <em>Vcpus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVcpus()
+ * @generated
+ * @ordered
+ */
+ protected static final int VCPUS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVcpus() <em>Vcpus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVcpus()
+ * @generated
+ * @ordered
+ */
+ protected int vcpus = VCPUS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCpu_info() <em>Cpu info</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCpu_info()
+ * @generated
+ * @ordered
+ */
+ protected HypervisorCpuInfo cpu_info;
+
+ /**
+ * The default value of the '{@link #getRunning_vms() <em>Running vms</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRunning_vms()
+ * @generated
+ * @ordered
+ */
+ protected static final int RUNNING_VMS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getRunning_vms() <em>Running vms</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRunning_vms()
+ * @generated
+ * @ordered
+ */
+ protected int running_vms = RUNNING_VMS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFree_disk_gb() <em>Free disk gb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFree_disk_gb()
+ * @generated
+ * @ordered
+ */
+ protected static final int FREE_DISK_GB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getFree_disk_gb() <em>Free disk gb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFree_disk_gb()
+ * @generated
+ * @ordered
+ */
+ protected int free_disk_gb = FREE_DISK_GB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHypervisor_version() <em>Hypervisor version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor_version()
+ * @generated
+ * @ordered
+ */
+ protected static final int HYPERVISOR_VERSION_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getHypervisor_version() <em>Hypervisor version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisor_version()
+ * @generated
+ * @ordered
+ */
+ protected int hypervisor_version = HYPERVISOR_VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDisk_available_least() <em>Disk available least</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisk_available_least()
+ * @generated
+ * @ordered
+ */
+ protected static final int DISK_AVAILABLE_LEAST_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getDisk_available_least() <em>Disk available least</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisk_available_least()
+ * @generated
+ * @ordered
+ */
+ protected int disk_available_least = DISK_AVAILABLE_LEAST_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLocal_gb() <em>Local gb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocal_gb()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOCAL_GB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getLocal_gb() <em>Local gb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocal_gb()
+ * @generated
+ * @ordered
+ */
+ protected int local_gb = LOCAL_GB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFree_ram_mb() <em>Free ram mb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFree_ram_mb()
+ * @generated
+ * @ordered
+ */
+ protected static final int FREE_RAM_MB_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getFree_ram_mb() <em>Free ram mb</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFree_ram_mb()
+ * @generated
+ * @ordered
+ */
+ protected int free_ram_mb = FREE_RAM_MB_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final int ID_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected int id = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HypervisorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.HYPERVISOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HypervisorService getService() {
+ return service;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetService(HypervisorService newService, NotificationChain msgs) {
+ HypervisorService oldService = service;
+ service = newService;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__SERVICE, oldService, newService);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setService(HypervisorService newService) {
+ if (newService != service) {
+ NotificationChain msgs = null;
+ if (service != null)
+ msgs = ((InternalEObject)service).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LocationPackage.HYPERVISOR__SERVICE, null, msgs);
+ if (newService != null)
+ msgs = ((InternalEObject)newService).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LocationPackage.HYPERVISOR__SERVICE, null, msgs);
+ msgs = basicSetService(newService, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__SERVICE, newService, newService));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHost_ip() {
+ return host_ip;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHost_ip(String newHost_ip) {
+ String oldHost_ip = host_ip;
+ host_ip = newHost_ip;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__HOST_IP, oldHost_ip, host_ip));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVcpus_used() {
+ return vcpus_used;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVcpus_used(int newVcpus_used) {
+ int oldVcpus_used = vcpus_used;
+ vcpus_used = newVcpus_used;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__VCPUS_USED, oldVcpus_used, vcpus_used));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHypervisor_type() {
+ return hypervisor_type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHypervisor_type(String newHypervisor_type) {
+ String oldHypervisor_type = hypervisor_type;
+ hypervisor_type = newHypervisor_type;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__HYPERVISOR_TYPE, oldHypervisor_type, hypervisor_type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLocal_gb_used() {
+ return local_gb_used;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocal_gb_used(int newLocal_gb_used) {
+ int oldLocal_gb_used = local_gb_used;
+ local_gb_used = newLocal_gb_used;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__LOCAL_GB_USED, oldLocal_gb_used, local_gb_used));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHypervisor_hostname() {
+ return hypervisor_hostname;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHypervisor_hostname(String newHypervisor_hostname) {
+ String oldHypervisor_hostname = hypervisor_hostname;
+ hypervisor_hostname = newHypervisor_hostname;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__HYPERVISOR_HOSTNAME, oldHypervisor_hostname, hypervisor_hostname));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMemory_mb_used() {
+ return memory_mb_used;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMemory_mb_used(int newMemory_mb_used) {
+ int oldMemory_mb_used = memory_mb_used;
+ memory_mb_used = newMemory_mb_used;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__MEMORY_MB_USED, oldMemory_mb_used, memory_mb_used));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMemory_mb() {
+ return memory_mb;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMemory_mb(int newMemory_mb) {
+ int oldMemory_mb = memory_mb;
+ memory_mb = newMemory_mb;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__MEMORY_MB, oldMemory_mb, memory_mb));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCurrent_workload() {
+ return current_workload;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrent_workload(int newCurrent_workload) {
+ int oldCurrent_workload = current_workload;
+ current_workload = newCurrent_workload;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__CURRENT_WORKLOAD, oldCurrent_workload, current_workload));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVcpus() {
+ return vcpus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVcpus(int newVcpus) {
+ int oldVcpus = vcpus;
+ vcpus = newVcpus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__VCPUS, oldVcpus, vcpus));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HypervisorCpuInfo getCpu_info() {
+ return cpu_info;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCpu_info(HypervisorCpuInfo newCpu_info, NotificationChain msgs) {
+ HypervisorCpuInfo oldCpu_info = cpu_info;
+ cpu_info = newCpu_info;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__CPU_INFO, oldCpu_info, newCpu_info);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCpu_info(HypervisorCpuInfo newCpu_info) {
+ if (newCpu_info != cpu_info) {
+ NotificationChain msgs = null;
+ if (cpu_info != null)
+ msgs = ((InternalEObject)cpu_info).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LocationPackage.HYPERVISOR__CPU_INFO, null, msgs);
+ if (newCpu_info != null)
+ msgs = ((InternalEObject)newCpu_info).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LocationPackage.HYPERVISOR__CPU_INFO, null, msgs);
+ msgs = basicSetCpu_info(newCpu_info, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__CPU_INFO, newCpu_info, newCpu_info));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getRunning_vms() {
+ return running_vms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRunning_vms(int newRunning_vms) {
+ int oldRunning_vms = running_vms;
+ running_vms = newRunning_vms;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__RUNNING_VMS, oldRunning_vms, running_vms));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFree_disk_gb() {
+ return free_disk_gb;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFree_disk_gb(int newFree_disk_gb) {
+ int oldFree_disk_gb = free_disk_gb;
+ free_disk_gb = newFree_disk_gb;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__FREE_DISK_GB, oldFree_disk_gb, free_disk_gb));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHypervisor_version() {
+ return hypervisor_version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHypervisor_version(int newHypervisor_version) {
+ int oldHypervisor_version = hypervisor_version;
+ hypervisor_version = newHypervisor_version;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__HYPERVISOR_VERSION, oldHypervisor_version, hypervisor_version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getDisk_available_least() {
+ return disk_available_least;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisk_available_least(int newDisk_available_least) {
+ int oldDisk_available_least = disk_available_least;
+ disk_available_least = newDisk_available_least;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__DISK_AVAILABLE_LEAST, oldDisk_available_least, disk_available_least));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLocal_gb() {
+ return local_gb;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocal_gb(int newLocal_gb) {
+ int oldLocal_gb = local_gb;
+ local_gb = newLocal_gb;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__LOCAL_GB, oldLocal_gb, local_gb));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFree_ram_mb() {
+ return free_ram_mb;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFree_ram_mb(int newFree_ram_mb) {
+ int oldFree_ram_mb = free_ram_mb;
+ free_ram_mb = newFree_ram_mb;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__FREE_RAM_MB, oldFree_ram_mb, free_ram_mb));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(int newId) {
+ int oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR__SERVICE:
+ return basicSetService(null, msgs);
+ case LocationPackage.HYPERVISOR__CPU_INFO:
+ return basicSetCpu_info(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR__SERVICE:
+ return getService();
+ case LocationPackage.HYPERVISOR__HOST_IP:
+ return getHost_ip();
+ case LocationPackage.HYPERVISOR__VCPUS_USED:
+ return getVcpus_used();
+ case LocationPackage.HYPERVISOR__HYPERVISOR_TYPE:
+ return getHypervisor_type();
+ case LocationPackage.HYPERVISOR__LOCAL_GB_USED:
+ return getLocal_gb_used();
+ case LocationPackage.HYPERVISOR__HYPERVISOR_HOSTNAME:
+ return getHypervisor_hostname();
+ case LocationPackage.HYPERVISOR__MEMORY_MB_USED:
+ return getMemory_mb_used();
+ case LocationPackage.HYPERVISOR__MEMORY_MB:
+ return getMemory_mb();
+ case LocationPackage.HYPERVISOR__CURRENT_WORKLOAD:
+ return getCurrent_workload();
+ case LocationPackage.HYPERVISOR__VCPUS:
+ return getVcpus();
+ case LocationPackage.HYPERVISOR__CPU_INFO:
+ return getCpu_info();
+ case LocationPackage.HYPERVISOR__RUNNING_VMS:
+ return getRunning_vms();
+ case LocationPackage.HYPERVISOR__FREE_DISK_GB:
+ return getFree_disk_gb();
+ case LocationPackage.HYPERVISOR__HYPERVISOR_VERSION:
+ return getHypervisor_version();
+ case LocationPackage.HYPERVISOR__DISK_AVAILABLE_LEAST:
+ return getDisk_available_least();
+ case LocationPackage.HYPERVISOR__LOCAL_GB:
+ return getLocal_gb();
+ case LocationPackage.HYPERVISOR__FREE_RAM_MB:
+ return getFree_ram_mb();
+ case LocationPackage.HYPERVISOR__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR__SERVICE:
+ setService((HypervisorService)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__HOST_IP:
+ setHost_ip((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__VCPUS_USED:
+ setVcpus_used((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_TYPE:
+ setHypervisor_type((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__LOCAL_GB_USED:
+ setLocal_gb_used((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_HOSTNAME:
+ setHypervisor_hostname((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__MEMORY_MB_USED:
+ setMemory_mb_used((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__MEMORY_MB:
+ setMemory_mb((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__CURRENT_WORKLOAD:
+ setCurrent_workload((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__VCPUS:
+ setVcpus((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__CPU_INFO:
+ setCpu_info((HypervisorCpuInfo)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__RUNNING_VMS:
+ setRunning_vms((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__FREE_DISK_GB:
+ setFree_disk_gb((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_VERSION:
+ setHypervisor_version((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__DISK_AVAILABLE_LEAST:
+ setDisk_available_least((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__LOCAL_GB:
+ setLocal_gb((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__FREE_RAM_MB:
+ setFree_ram_mb((Integer)newValue);
+ return;
+ case LocationPackage.HYPERVISOR__ID:
+ setId((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR__SERVICE:
+ setService((HypervisorService)null);
+ return;
+ case LocationPackage.HYPERVISOR__HOST_IP:
+ setHost_ip(HOST_IP_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__VCPUS_USED:
+ setVcpus_used(VCPUS_USED_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_TYPE:
+ setHypervisor_type(HYPERVISOR_TYPE_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__LOCAL_GB_USED:
+ setLocal_gb_used(LOCAL_GB_USED_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_HOSTNAME:
+ setHypervisor_hostname(HYPERVISOR_HOSTNAME_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__MEMORY_MB_USED:
+ setMemory_mb_used(MEMORY_MB_USED_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__MEMORY_MB:
+ setMemory_mb(MEMORY_MB_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__CURRENT_WORKLOAD:
+ setCurrent_workload(CURRENT_WORKLOAD_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__VCPUS:
+ setVcpus(VCPUS_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__CPU_INFO:
+ setCpu_info((HypervisorCpuInfo)null);
+ return;
+ case LocationPackage.HYPERVISOR__RUNNING_VMS:
+ setRunning_vms(RUNNING_VMS_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__FREE_DISK_GB:
+ setFree_disk_gb(FREE_DISK_GB_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_VERSION:
+ setHypervisor_version(HYPERVISOR_VERSION_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__DISK_AVAILABLE_LEAST:
+ setDisk_available_least(DISK_AVAILABLE_LEAST_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__LOCAL_GB:
+ setLocal_gb(LOCAL_GB_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__FREE_RAM_MB:
+ setFree_ram_mb(FREE_RAM_MB_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR__SERVICE:
+ return service != null;
+ case LocationPackage.HYPERVISOR__HOST_IP:
+ return HOST_IP_EDEFAULT == null ? host_ip != null : !HOST_IP_EDEFAULT.equals(host_ip);
+ case LocationPackage.HYPERVISOR__VCPUS_USED:
+ return vcpus_used != VCPUS_USED_EDEFAULT;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_TYPE:
+ return HYPERVISOR_TYPE_EDEFAULT == null ? hypervisor_type != null : !HYPERVISOR_TYPE_EDEFAULT.equals(hypervisor_type);
+ case LocationPackage.HYPERVISOR__LOCAL_GB_USED:
+ return local_gb_used != LOCAL_GB_USED_EDEFAULT;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_HOSTNAME:
+ return HYPERVISOR_HOSTNAME_EDEFAULT == null ? hypervisor_hostname != null : !HYPERVISOR_HOSTNAME_EDEFAULT.equals(hypervisor_hostname);
+ case LocationPackage.HYPERVISOR__MEMORY_MB_USED:
+ return memory_mb_used != MEMORY_MB_USED_EDEFAULT;
+ case LocationPackage.HYPERVISOR__MEMORY_MB:
+ return memory_mb != MEMORY_MB_EDEFAULT;
+ case LocationPackage.HYPERVISOR__CURRENT_WORKLOAD:
+ return current_workload != CURRENT_WORKLOAD_EDEFAULT;
+ case LocationPackage.HYPERVISOR__VCPUS:
+ return vcpus != VCPUS_EDEFAULT;
+ case LocationPackage.HYPERVISOR__CPU_INFO:
+ return cpu_info != null;
+ case LocationPackage.HYPERVISOR__RUNNING_VMS:
+ return running_vms != RUNNING_VMS_EDEFAULT;
+ case LocationPackage.HYPERVISOR__FREE_DISK_GB:
+ return free_disk_gb != FREE_DISK_GB_EDEFAULT;
+ case LocationPackage.HYPERVISOR__HYPERVISOR_VERSION:
+ return hypervisor_version != HYPERVISOR_VERSION_EDEFAULT;
+ case LocationPackage.HYPERVISOR__DISK_AVAILABLE_LEAST:
+ return disk_available_least != DISK_AVAILABLE_LEAST_EDEFAULT;
+ case LocationPackage.HYPERVISOR__LOCAL_GB:
+ return local_gb != LOCAL_GB_EDEFAULT;
+ case LocationPackage.HYPERVISOR__FREE_RAM_MB:
+ return free_ram_mb != FREE_RAM_MB_EDEFAULT;
+ case LocationPackage.HYPERVISOR__ID:
+ return id != ID_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (host_ip: ");
+ result.append(host_ip);
+ result.append(", vcpus_used: ");
+ result.append(vcpus_used);
+ result.append(", hypervisor_type: ");
+ result.append(hypervisor_type);
+ result.append(", local_gb_used: ");
+ result.append(local_gb_used);
+ result.append(", hypervisor_hostname: ");
+ result.append(hypervisor_hostname);
+ result.append(", memory_mb_used: ");
+ result.append(memory_mb_used);
+ result.append(", memory_mb: ");
+ result.append(memory_mb);
+ result.append(", current_workload: ");
+ result.append(current_workload);
+ result.append(", vcpus: ");
+ result.append(vcpus);
+ result.append(", running_vms: ");
+ result.append(running_vms);
+ result.append(", free_disk_gb: ");
+ result.append(free_disk_gb);
+ result.append(", hypervisor_version: ");
+ result.append(hypervisor_version);
+ result.append(", disk_available_least: ");
+ result.append(disk_available_least);
+ result.append(", local_gb: ");
+ result.append(local_gb);
+ result.append(", free_ram_mb: ");
+ result.append(free_ram_mb);
+ result.append(", id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HypervisorImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorServiceImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorServiceImpl.java
new file mode 100644
index 0000000..b7b5e54
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/HypervisorServiceImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.openstack.location.HypervisorService;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hypervisor Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorServiceImpl#getHost <em>Host</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.HypervisorServiceImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HypervisorServiceImpl extends MinimalEObjectImpl.Container implements HypervisorService {
+ /**
+ * The default value of the '{@link #getHost() <em>Host</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost()
+ * @generated
+ * @ordered
+ */
+ protected static final String HOST_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHost() <em>Host</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost()
+ * @generated
+ * @ordered
+ */
+ protected String host = HOST_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final int ID_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected int id = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HypervisorServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.HYPERVISOR_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHost(String newHost) {
+ String oldHost = host;
+ host = newHost;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_SERVICE__HOST, oldHost, host));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(int newId) {
+ int oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.HYPERVISOR_SERVICE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_SERVICE__HOST:
+ return getHost();
+ case LocationPackage.HYPERVISOR_SERVICE__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_SERVICE__HOST:
+ setHost((String)newValue);
+ return;
+ case LocationPackage.HYPERVISOR_SERVICE__ID:
+ setId((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_SERVICE__HOST:
+ setHost(HOST_EDEFAULT);
+ return;
+ case LocationPackage.HYPERVISOR_SERVICE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.HYPERVISOR_SERVICE__HOST:
+ return HOST_EDEFAULT == null ? host != null : !HOST_EDEFAULT.equals(host);
+ case LocationPackage.HYPERVISOR_SERVICE__ID:
+ return id != ID_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (host: ");
+ result.append(host);
+ result.append(", id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HypervisorServiceImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationFactoryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationFactoryImpl.java
new file mode 100644
index 0000000..830c853
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationFactoryImpl.java
@@ -0,0 +1,233 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.openstack.location.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LocationFactoryImpl extends EFactoryImpl implements LocationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LocationFactory init() {
+ try {
+ LocationFactory theLocationFactory = (LocationFactory)EPackage.Registry.INSTANCE.getEFactory(LocationPackage.eNS_URI);
+ if (theLocationFactory != null) {
+ return theLocationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new LocationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case LocationPackage.OPEN_STACK_LOCATION: return createOpenStackLocation();
+ case LocationPackage.OPEN_STACK_PROJECT: return createOpenStackProject();
+ case LocationPackage.OPEN_STACK_USER: return createOpenStackUser();
+ case LocationPackage.HYPERVISOR_SERVICE: return createHypervisorService();
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY: return createHypervisorCpuTopology();
+ case LocationPackage.HYPERVISOR_CPU_INFO: return createHypervisorCpuInfo();
+ case LocationPackage.HYPERVISOR: return createHypervisor();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case LocationPackage.OPEN_STACK_VERSION:
+ return createOpenStackVersionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case LocationPackage.OPEN_STACK_VERSION:
+ return convertOpenStackVersionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackLocation createOpenStackLocation() {
+ OpenStackLocationImpl openStackLocation = new OpenStackLocationImpl();
+ return openStackLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackProject createOpenStackProject() {
+ OpenStackProjectImpl openStackProject = new OpenStackProjectImpl();
+ return openStackProject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackUser createOpenStackUser() {
+ OpenStackUserImpl openStackUser = new OpenStackUserImpl();
+ return openStackUser;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HypervisorService createHypervisorService() {
+ HypervisorServiceImpl hypervisorService = new HypervisorServiceImpl();
+ return hypervisorService;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HypervisorCpuTopology createHypervisorCpuTopology() {
+ HypervisorCpuTopologyImpl hypervisorCpuTopology = new HypervisorCpuTopologyImpl();
+ return hypervisorCpuTopology;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HypervisorCpuInfo createHypervisorCpuInfo() {
+ HypervisorCpuInfoImpl hypervisorCpuInfo = new HypervisorCpuInfoImpl();
+ return hypervisorCpuInfo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Hypervisor createHypervisor() {
+ HypervisorImpl hypervisor = new HypervisorImpl();
+ return hypervisor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackVersion createOpenStackVersionFromString(EDataType eDataType, String initialValue) {
+ OpenStackVersion result = OpenStackVersion.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertOpenStackVersionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationPackage getLocationPackage() {
+ return (LocationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static LocationPackage getPackage() {
+ return LocationPackage.eINSTANCE;
+ }
+
+} //LocationFactoryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationPackageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationPackageImpl.java
new file mode 100644
index 0000000..f489ee3
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/LocationPackageImpl.java
@@ -0,0 +1,1155 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.core.CorePackage;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+
+import org.openecomp.ncomp.openstack.location.Hypervisor;
+import org.openecomp.ncomp.openstack.location.HypervisorCpuInfo;
+import org.openecomp.ncomp.openstack.location.HypervisorCpuTopology;
+import org.openecomp.ncomp.openstack.location.HypervisorService;
+import org.openecomp.ncomp.openstack.location.LocationFactory;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import org.openecomp.ncomp.openstack.location.OpenStackProject;
+import org.openecomp.ncomp.openstack.location.OpenStackUser;
+
+import org.openecomp.ncomp.openstack.location.OpenStackVersion;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LocationPackageImpl extends EPackageImpl implements LocationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openStackLocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openStackProjectEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass openStackUserEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hypervisorServiceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hypervisorCpuTopologyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hypervisorCpuInfoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hypervisorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum openStackVersionEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private LocationPackageImpl() {
+ super(eNS_URI, LocationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link LocationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static LocationPackage init() {
+ if (isInited) return (LocationPackage)EPackage.Registry.INSTANCE.getEPackage(LocationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ LocationPackageImpl theLocationPackage = (LocationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LocationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LocationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ NeutronPackage.eINSTANCE.eClass();
+ CeilometerPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theLocationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theLocationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theLocationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(LocationPackage.eNS_URI, theLocationPackage);
+ return theLocationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenStackLocation() {
+ return openStackLocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_Version() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_RemoteLocation() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_RemoteLocationName() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_AllowCreateFlavor() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_KeystoneUrl() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_BypassIp() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_FlavorId() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_SupportsSecurityGroups() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackLocation_SupportsFloatingIps() {
+ return (EAttribute)openStackLocationEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackLocation_Projects() {
+ return (EReference)openStackLocationEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackLocation_Users() {
+ return (EReference)openStackLocationEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackLocation_Images() {
+ return (EReference)openStackLocationEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackLocation_Flavors() {
+ return (EReference)openStackLocationEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackLocation_Hypervisors() {
+ return (EReference)openStackLocationEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpenStackLocation__Poll() {
+ return openStackLocationEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpenStackLocation__MergeLocation__OpenStackLocation() {
+ return openStackLocationEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenStackProject() {
+ return openStackProjectEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_ID() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_AdminUser() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_TenantId() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_Region() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_PrivateNetwork() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_PublicNetwork() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackProject_ApiKey() {
+ return (EAttribute)openStackProjectEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Servers() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Users() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_ControllerUser() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Volumes() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Ips() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Groups() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Keypairs() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Networks() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Subnets() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Routers() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Ports() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Security_groups() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpenStackProject_Floatingips() {
+ return (EReference)openStackProjectEClass.getEStructuralFeatures().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpenStackProject__UpdateNovaState() {
+ return openStackProjectEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpenStackProject__CreateNetwork__CreateNetworkRequest() {
+ return openStackProjectEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpenStackUser() {
+ return openStackUserEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpenStackUser_Password() {
+ return (EAttribute)openStackUserEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHypervisorService() {
+ return hypervisorServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorService_Host() {
+ return (EAttribute)hypervisorServiceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorService_Id() {
+ return (EAttribute)hypervisorServiceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHypervisorCpuTopology() {
+ return hypervisorCpuTopologyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuTopology_Cores() {
+ return (EAttribute)hypervisorCpuTopologyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuTopology_Threads() {
+ return (EAttribute)hypervisorCpuTopologyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuTopology_Sockets() {
+ return (EAttribute)hypervisorCpuTopologyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHypervisorCpuInfo() {
+ return hypervisorCpuInfoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuInfo_Vendor() {
+ return (EAttribute)hypervisorCpuInfoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuInfo_Model() {
+ return (EAttribute)hypervisorCpuInfoEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuInfo_Arch() {
+ return (EAttribute)hypervisorCpuInfoEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisorCpuInfo_Features() {
+ return (EAttribute)hypervisorCpuInfoEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHypervisorCpuInfo_Topology() {
+ return (EReference)hypervisorCpuInfoEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHypervisor() {
+ return hypervisorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHypervisor_Service() {
+ return (EReference)hypervisorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Host_ip() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Vcpus_used() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Hypervisor_type() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Local_gb_used() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Hypervisor_hostname() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Memory_mb_used() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Memory_mb() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Current_workload() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Vcpus() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHypervisor_Cpu_info() {
+ return (EReference)hypervisorEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Running_vms() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Free_disk_gb() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Hypervisor_version() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Disk_available_least() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Local_gb() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Free_ram_mb() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHypervisor_Id() {
+ return (EAttribute)hypervisorEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getOpenStackVersion() {
+ return openStackVersionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationFactory getLocationFactory() {
+ return (LocationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ openStackLocationEClass = createEClass(OPEN_STACK_LOCATION);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__VERSION);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__REMOTE_LOCATION);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__KEYSTONE_URL);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__BYPASS_IP);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__FLAVOR_ID);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS);
+ createEAttribute(openStackLocationEClass, OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS);
+ createEReference(openStackLocationEClass, OPEN_STACK_LOCATION__PROJECTS);
+ createEReference(openStackLocationEClass, OPEN_STACK_LOCATION__USERS);
+ createEReference(openStackLocationEClass, OPEN_STACK_LOCATION__IMAGES);
+ createEReference(openStackLocationEClass, OPEN_STACK_LOCATION__FLAVORS);
+ createEReference(openStackLocationEClass, OPEN_STACK_LOCATION__HYPERVISORS);
+ createEOperation(openStackLocationEClass, OPEN_STACK_LOCATION___POLL);
+ createEOperation(openStackLocationEClass, OPEN_STACK_LOCATION___MERGE_LOCATION__OPENSTACKLOCATION);
+
+ openStackProjectEClass = createEClass(OPEN_STACK_PROJECT);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__ID);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__ADMIN_USER);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__TENANT_ID);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__REGION);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__PRIVATE_NETWORK);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__PUBLIC_NETWORK);
+ createEAttribute(openStackProjectEClass, OPEN_STACK_PROJECT__API_KEY);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__SERVERS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__USERS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__CONTROLLER_USER);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__VOLUMES);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__IPS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__GROUPS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__KEYPAIRS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__NETWORKS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__SUBNETS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__ROUTERS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__PORTS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__SECURITY_GROUPS);
+ createEReference(openStackProjectEClass, OPEN_STACK_PROJECT__FLOATINGIPS);
+ createEOperation(openStackProjectEClass, OPEN_STACK_PROJECT___UPDATE_NOVA_STATE);
+ createEOperation(openStackProjectEClass, OPEN_STACK_PROJECT___CREATE_NETWORK__CREATENETWORKREQUEST);
+
+ openStackUserEClass = createEClass(OPEN_STACK_USER);
+ createEAttribute(openStackUserEClass, OPEN_STACK_USER__PASSWORD);
+
+ hypervisorServiceEClass = createEClass(HYPERVISOR_SERVICE);
+ createEAttribute(hypervisorServiceEClass, HYPERVISOR_SERVICE__HOST);
+ createEAttribute(hypervisorServiceEClass, HYPERVISOR_SERVICE__ID);
+
+ hypervisorCpuTopologyEClass = createEClass(HYPERVISOR_CPU_TOPOLOGY);
+ createEAttribute(hypervisorCpuTopologyEClass, HYPERVISOR_CPU_TOPOLOGY__CORES);
+ createEAttribute(hypervisorCpuTopologyEClass, HYPERVISOR_CPU_TOPOLOGY__THREADS);
+ createEAttribute(hypervisorCpuTopologyEClass, HYPERVISOR_CPU_TOPOLOGY__SOCKETS);
+
+ hypervisorCpuInfoEClass = createEClass(HYPERVISOR_CPU_INFO);
+ createEAttribute(hypervisorCpuInfoEClass, HYPERVISOR_CPU_INFO__VENDOR);
+ createEAttribute(hypervisorCpuInfoEClass, HYPERVISOR_CPU_INFO__MODEL);
+ createEAttribute(hypervisorCpuInfoEClass, HYPERVISOR_CPU_INFO__ARCH);
+ createEAttribute(hypervisorCpuInfoEClass, HYPERVISOR_CPU_INFO__FEATURES);
+ createEReference(hypervisorCpuInfoEClass, HYPERVISOR_CPU_INFO__TOPOLOGY);
+
+ hypervisorEClass = createEClass(HYPERVISOR);
+ createEReference(hypervisorEClass, HYPERVISOR__SERVICE);
+ createEAttribute(hypervisorEClass, HYPERVISOR__HOST_IP);
+ createEAttribute(hypervisorEClass, HYPERVISOR__VCPUS_USED);
+ createEAttribute(hypervisorEClass, HYPERVISOR__HYPERVISOR_TYPE);
+ createEAttribute(hypervisorEClass, HYPERVISOR__LOCAL_GB_USED);
+ createEAttribute(hypervisorEClass, HYPERVISOR__HYPERVISOR_HOSTNAME);
+ createEAttribute(hypervisorEClass, HYPERVISOR__MEMORY_MB_USED);
+ createEAttribute(hypervisorEClass, HYPERVISOR__MEMORY_MB);
+ createEAttribute(hypervisorEClass, HYPERVISOR__CURRENT_WORKLOAD);
+ createEAttribute(hypervisorEClass, HYPERVISOR__VCPUS);
+ createEReference(hypervisorEClass, HYPERVISOR__CPU_INFO);
+ createEAttribute(hypervisorEClass, HYPERVISOR__RUNNING_VMS);
+ createEAttribute(hypervisorEClass, HYPERVISOR__FREE_DISK_GB);
+ createEAttribute(hypervisorEClass, HYPERVISOR__HYPERVISOR_VERSION);
+ createEAttribute(hypervisorEClass, HYPERVISOR__DISK_AVAILABLE_LEAST);
+ createEAttribute(hypervisorEClass, HYPERVISOR__LOCAL_GB);
+ createEAttribute(hypervisorEClass, HYPERVISOR__FREE_RAM_MB);
+ createEAttribute(hypervisorEClass, HYPERVISOR__ID);
+
+ // Create enums
+ openStackVersionEEnum = createEEnum(OPEN_STACK_VERSION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+ NeutronPackage theNeutronPackage = (NeutronPackage)EPackage.Registry.INSTANCE.getEPackage(NeutronPackage.eNS_URI);
+ ComputePackage theComputePackage = (ComputePackage)EPackage.Registry.INSTANCE.getEPackage(ComputePackage.eNS_URI);
+ CeilometerPackage theCeilometerPackage = (CeilometerPackage)EPackage.Registry.INSTANCE.getEPackage(CeilometerPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ openStackLocationEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+ openStackLocationEClass.getESuperTypes().add(theNeutronPackage.getNeutronService());
+ openStackLocationEClass.getESuperTypes().add(theComputePackage.getComputeService());
+ openStackLocationEClass.getESuperTypes().add(theCeilometerPackage.getCeilometerService());
+ openStackProjectEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+ openStackProjectEClass.getESuperTypes().add(theCeilometerPackage.getCeilometerProject());
+ openStackUserEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+ hypervisorEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(openStackLocationEClass, OpenStackLocation.class, "OpenStackLocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenStackLocation_Version(), this.getOpenStackVersion(), "version", null, 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_RemoteLocation(), theEcorePackage.getEBoolean(), "remoteLocation", "false", 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_RemoteLocationName(), theEcorePackage.getEString(), "remoteLocationName", null, 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_AllowCreateFlavor(), theEcorePackage.getEBoolean(), "allowCreateFlavor", null, 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_KeystoneUrl(), theEcorePackage.getEString(), "keystoneUrl", null, 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_BypassIp(), theEcorePackage.getEString(), "bypassIp", null, 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_FlavorId(), theEcorePackage.getEInt(), "flavorId", "20000", 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_SupportsSecurityGroups(), theEcorePackage.getEBoolean(), "supportsSecurityGroups", "true", 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackLocation_SupportsFloatingIps(), theEcorePackage.getEBoolean(), "supportsFloatingIps", "true", 0, 1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOpenStackLocation_Projects(), this.getOpenStackProject(), null, "projects", null, 0, -1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackLocation_Users(), this.getOpenStackUser(), null, "users", null, 0, -1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackLocation_Images(), theComputePackage.getImage(), null, "images", null, 0, -1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackLocation_Flavors(), theComputePackage.getFlavor(), null, "flavors", null, 0, -1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackLocation_Hypervisors(), this.getHypervisor(), null, "hypervisors", null, 0, -1, OpenStackLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEOperation(getOpenStackLocation__Poll(), null, "poll", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ EOperation op = initEOperation(getOpenStackLocation__MergeLocation__OpenStackLocation(), null, "mergeLocation", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getOpenStackLocation(), "loc", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ initEClass(openStackProjectEClass, OpenStackProject.class, "OpenStackProject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenStackProject_ID(), theEcorePackage.getEString(), "ID", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackProject_AdminUser(), theEcorePackage.getEString(), "adminUser", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackProject_TenantId(), theEcorePackage.getEString(), "tenantId", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackProject_Region(), theEcorePackage.getEString(), "region", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackProject_PrivateNetwork(), theEcorePackage.getEString(), "privateNetwork", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackProject_PublicNetwork(), theEcorePackage.getEString(), "publicNetwork", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOpenStackProject_ApiKey(), theEcorePackage.getEString(), "apiKey", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOpenStackProject_Servers(), theComputePackage.getServer(), null, "servers", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Users(), this.getOpenStackUser(), null, "users", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_ControllerUser(), this.getOpenStackUser(), null, "controllerUser", null, 0, 1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOpenStackProject_Volumes(), theComputePackage.getVolume(), null, "volumes", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Ips(), theComputePackage.getFloatingIp(), null, "ips", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Groups(), theComputePackage.getSecurityGroup(), null, "groups", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Keypairs(), theComputePackage.getKeyPair(), null, "keypairs", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Networks(), theNeutronPackage.getNetwork(), null, "networks", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Subnets(), theNeutronPackage.getSubnet(), null, "subnets", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Routers(), theNeutronPackage.getRouter(), null, "routers", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Ports(), theNeutronPackage.getPort(), null, "ports", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Security_groups(), theNeutronPackage.getNeutronSecurityGroup(), null, "security_groups", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOpenStackProject_Floatingips(), theNeutronPackage.getNeutronFloatingIp(), null, "floatingips", null, 0, -1, OpenStackProject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEOperation(getOpenStackProject__UpdateNovaState(), null, "updateNovaState", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getOpenStackProject__CreateNetwork__CreateNetworkRequest(), theNeutronPackage.getNetwork(), "createNetwork", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theNeutronPackage.getCreateNetworkRequest(), "r", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ initEClass(openStackUserEClass, OpenStackUser.class, "OpenStackUser", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOpenStackUser_Password(), theEcorePackage.getEString(), "password", null, 0, 1, OpenStackUser.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hypervisorServiceEClass, HypervisorService.class, "HypervisorService", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHypervisorService_Host(), theEcorePackage.getEString(), "host", null, 0, 1, HypervisorService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisorService_Id(), theEcorePackage.getEInt(), "id", null, 0, 1, HypervisorService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hypervisorCpuTopologyEClass, HypervisorCpuTopology.class, "HypervisorCpuTopology", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHypervisorCpuTopology_Cores(), theEcorePackage.getEInt(), "cores", null, 0, 1, HypervisorCpuTopology.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisorCpuTopology_Threads(), theEcorePackage.getEInt(), "threads", null, 0, 1, HypervisorCpuTopology.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisorCpuTopology_Sockets(), theEcorePackage.getEInt(), "sockets", null, 0, 1, HypervisorCpuTopology.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hypervisorCpuInfoEClass, HypervisorCpuInfo.class, "HypervisorCpuInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHypervisorCpuInfo_Vendor(), theEcorePackage.getEString(), "vendor", null, 0, 1, HypervisorCpuInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisorCpuInfo_Model(), theEcorePackage.getEString(), "model", null, 0, 1, HypervisorCpuInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisorCpuInfo_Arch(), theEcorePackage.getEString(), "arch", null, 0, 1, HypervisorCpuInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisorCpuInfo_Features(), theEcorePackage.getEString(), "features", null, 0, -1, HypervisorCpuInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getHypervisorCpuInfo_Topology(), this.getHypervisorCpuTopology(), null, "topology", null, 0, 1, HypervisorCpuInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hypervisorEClass, Hypervisor.class, "Hypervisor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHypervisor_Service(), this.getHypervisorService(), null, "service", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Host_ip(), theEcorePackage.getEString(), "host_ip", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Vcpus_used(), theEcorePackage.getEInt(), "vcpus_used", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Hypervisor_type(), theEcorePackage.getEString(), "hypervisor_type", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Local_gb_used(), theEcorePackage.getEInt(), "local_gb_used", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Hypervisor_hostname(), theEcorePackage.getEString(), "hypervisor_hostname", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Memory_mb_used(), theEcorePackage.getEInt(), "memory_mb_used", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Memory_mb(), theEcorePackage.getEInt(), "memory_mb", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Current_workload(), theEcorePackage.getEInt(), "current_workload", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Vcpus(), theEcorePackage.getEInt(), "vcpus", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getHypervisor_Cpu_info(), this.getHypervisorCpuInfo(), null, "cpu_info", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Running_vms(), theEcorePackage.getEInt(), "running_vms", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Free_disk_gb(), theEcorePackage.getEInt(), "free_disk_gb", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Hypervisor_version(), theEcorePackage.getEInt(), "hypervisor_version", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Disk_available_least(), theEcorePackage.getEInt(), "disk_available_least", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Local_gb(), theEcorePackage.getEInt(), "local_gb", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Free_ram_mb(), theEcorePackage.getEInt(), "free_ram_mb", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHypervisor_Id(), theEcorePackage.getEInt(), "id", null, 0, 1, Hypervisor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(openStackVersionEEnum, OpenStackVersion.class, "OpenStackVersion");
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.FOLSOM);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.GRIZZLY);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.HAVANA);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.ICEHOUSE);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.JUNO);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.KILO);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.LIBERTY);
+ addEEnumLiteral(openStackVersionEEnum, OpenStackVersion.MITAKA);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2011/Xcore
+ createXcoreAnnotations();
+ // http://openecomp.org/sirius/persistence
+ createPersistenceAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2011/Xcore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createXcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2011/Xcore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "persistence", "http://openecomp.org/sirius/persistence"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://openecomp.org/sirius/persistence</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createPersistenceAnnotations() {
+ String source = "http://openecomp.org/sirius/persistence";
+ addAnnotation
+ (getOpenStackUser_Password(),
+ source,
+ new String[] {
+ "propertyFile", "bsa.properties"
+ });
+ }
+
+} //LocationPackageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackLocationImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackLocationImpl.java
new file mode 100644
index 0000000..1b9ed42
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackLocationImpl.java
@@ -0,0 +1,1375 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.core.User;
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerSample;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService;
+import org.openecomp.ncomp.openstack.ceilometer.CreateAlarmRequest;
+import org.openecomp.ncomp.openstack.ceilometer.SampleRequest;
+import org.openecomp.ncomp.openstack.compute.ComputePackage;
+import org.openecomp.ncomp.openstack.compute.ComputeService;
+import org.openecomp.ncomp.openstack.compute.Flavor;
+import org.openecomp.ncomp.openstack.compute.Image;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestFlavor;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestKeyPair;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestNewServer;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestSecurityGroup;
+import org.openecomp.ncomp.openstack.compute.OpenstackRequestServerAction;
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete;
+import org.openecomp.ncomp.openstack.location.Hypervisor;
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.openecomp.ncomp.openstack.location.OpenStackLocation;
+import org.openecomp.ncomp.openstack.location.OpenStackProject;
+import org.openecomp.ncomp.openstack.location.OpenStackUser;
+import org.openecomp.ncomp.openstack.location.OpenStackVersion;
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.CreatePortRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateRouterRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest;
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronService;
+import org.openecomp.ncomp.openstack.neutron.Port;
+import org.openecomp.ncomp.openstack.neutron.Router;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Open Stack Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getCeilometerAvailableCapabilites <em>Ceilometer Available Capabilites</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getCeilometerUnavailableCapabilites <em>Ceilometer Unavailable Capabilites</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getVersion <em>Version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#isRemoteLocation <em>Remote Location</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getRemoteLocationName <em>Remote Location Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#isAllowCreateFlavor <em>Allow Create Flavor</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getKeystoneUrl <em>Keystone Url</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getBypassIp <em>Bypass Ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getFlavorId <em>Flavor Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#isSupportsSecurityGroups <em>Supports Security Groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#isSupportsFloatingIps <em>Supports Floating Ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getProjects <em>Projects</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getUsers <em>Users</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getImages <em>Images</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getFlavors <em>Flavors</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackLocationImpl#getHypervisors <em>Hypervisors</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenStackLocationImpl extends NamedEntityImpl implements OpenStackLocation {
+ /**
+ * The cached value of the '{@link #getCeilometerAvailableCapabilites() <em>Ceilometer Available Capabilites</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCeilometerAvailableCapabilites()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ceilometerAvailableCapabilites;
+
+ /**
+ * The cached value of the '{@link #getCeilometerUnavailableCapabilites() <em>Ceilometer Unavailable Capabilites</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCeilometerUnavailableCapabilites()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ceilometerUnavailableCapabilites;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final OpenStackVersion VERSION_EDEFAULT = OpenStackVersion.FOLSOM;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected OpenStackVersion version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isRemoteLocation() <em>Remote Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemoteLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REMOTE_LOCATION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRemoteLocation() <em>Remote Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemoteLocation()
+ * @generated
+ * @ordered
+ */
+ protected boolean remoteLocation = REMOTE_LOCATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRemoteLocationName() <em>Remote Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemoteLocationName()
+ * @generated
+ * @ordered
+ */
+ protected static final String REMOTE_LOCATION_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRemoteLocationName() <em>Remote Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemoteLocationName()
+ * @generated
+ * @ordered
+ */
+ protected String remoteLocationName = REMOTE_LOCATION_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isAllowCreateFlavor() <em>Allow Create Flavor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAllowCreateFlavor()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ALLOW_CREATE_FLAVOR_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isAllowCreateFlavor() <em>Allow Create Flavor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAllowCreateFlavor()
+ * @generated
+ * @ordered
+ */
+ protected boolean allowCreateFlavor = ALLOW_CREATE_FLAVOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKeystoneUrl() <em>Keystone Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeystoneUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEYSTONE_URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKeystoneUrl() <em>Keystone Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeystoneUrl()
+ * @generated
+ * @ordered
+ */
+ protected String keystoneUrl = KEYSTONE_URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBypassIp() <em>Bypass Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBypassIp()
+ * @generated
+ * @ordered
+ */
+ protected static final String BYPASS_IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBypassIp() <em>Bypass Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBypassIp()
+ * @generated
+ * @ordered
+ */
+ protected String bypassIp = BYPASS_IP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFlavorId() <em>Flavor Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlavorId()
+ * @generated
+ * @ordered
+ */
+ protected static final int FLAVOR_ID_EDEFAULT = 20000;
+
+ /**
+ * The cached value of the '{@link #getFlavorId() <em>Flavor Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlavorId()
+ * @generated
+ * @ordered
+ */
+ protected int flavorId = FLAVOR_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isSupportsSecurityGroups() <em>Supports Security Groups</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSupportsSecurityGroups()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SUPPORTS_SECURITY_GROUPS_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isSupportsSecurityGroups() <em>Supports Security Groups</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSupportsSecurityGroups()
+ * @generated
+ * @ordered
+ */
+ protected boolean supportsSecurityGroups = SUPPORTS_SECURITY_GROUPS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isSupportsFloatingIps() <em>Supports Floating Ips</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSupportsFloatingIps()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SUPPORTS_FLOATING_IPS_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isSupportsFloatingIps() <em>Supports Floating Ips</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSupportsFloatingIps()
+ * @generated
+ * @ordered
+ */
+ protected boolean supportsFloatingIps = SUPPORTS_FLOATING_IPS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getProjects() <em>Projects</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProjects()
+ * @generated
+ * @ordered
+ */
+ protected EList<OpenStackProject> projects;
+
+ /**
+ * The cached value of the '{@link #getUsers() <em>Users</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsers()
+ * @generated
+ * @ordered
+ */
+ protected EList<OpenStackUser> users;
+
+ /**
+ * The cached value of the '{@link #getImages() <em>Images</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImages()
+ * @generated
+ * @ordered
+ */
+ protected EList<Image> images;
+
+ /**
+ * The cached value of the '{@link #getFlavors() <em>Flavors</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlavors()
+ * @generated
+ * @ordered
+ */
+ protected EList<Flavor> flavors;
+
+ /**
+ * The cached value of the '{@link #getHypervisors() <em>Hypervisors</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHypervisors()
+ * @generated
+ * @ordered
+ */
+ protected EList<Hypervisor> hypervisors;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenStackLocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.OPEN_STACK_LOCATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getCeilometerAvailableCapabilites() {
+ if (ceilometerAvailableCapabilites == null) {
+ ceilometerAvailableCapabilites = new EDataTypeEList<String>(String.class, this, LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES);
+ }
+ return ceilometerAvailableCapabilites;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getCeilometerUnavailableCapabilites() {
+ if (ceilometerUnavailableCapabilites == null) {
+ ceilometerUnavailableCapabilites = new EDataTypeEList<String>(String.class, this, LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES);
+ }
+ return ceilometerUnavailableCapabilites;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackVersion getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVersion(OpenStackVersion newVersion) {
+ OpenStackVersion oldVersion = version;
+ version = newVersion == null ? VERSION_EDEFAULT : newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemoteLocation() {
+ return remoteLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemoteLocation(boolean newRemoteLocation) {
+ boolean oldRemoteLocation = remoteLocation;
+ remoteLocation = newRemoteLocation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION, oldRemoteLocation, remoteLocation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRemoteLocationName() {
+ return remoteLocationName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemoteLocationName(String newRemoteLocationName) {
+ String oldRemoteLocationName = remoteLocationName;
+ remoteLocationName = newRemoteLocationName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME, oldRemoteLocationName, remoteLocationName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAllowCreateFlavor() {
+ return allowCreateFlavor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowCreateFlavor(boolean newAllowCreateFlavor) {
+ boolean oldAllowCreateFlavor = allowCreateFlavor;
+ allowCreateFlavor = newAllowCreateFlavor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR, oldAllowCreateFlavor, allowCreateFlavor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKeystoneUrl() {
+ return keystoneUrl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKeystoneUrl(String newKeystoneUrl) {
+ String oldKeystoneUrl = keystoneUrl;
+ keystoneUrl = newKeystoneUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__KEYSTONE_URL, oldKeystoneUrl, keystoneUrl));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBypassIp() {
+ return bypassIp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBypassIp(String newBypassIp) {
+ String oldBypassIp = bypassIp;
+ bypassIp = newBypassIp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__BYPASS_IP, oldBypassIp, bypassIp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFlavorId() {
+ return flavorId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFlavorId(int newFlavorId) {
+ int oldFlavorId = flavorId;
+ flavorId = newFlavorId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__FLAVOR_ID, oldFlavorId, flavorId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSupportsSecurityGroups() {
+ return supportsSecurityGroups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSupportsSecurityGroups(boolean newSupportsSecurityGroups) {
+ boolean oldSupportsSecurityGroups = supportsSecurityGroups;
+ supportsSecurityGroups = newSupportsSecurityGroups;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS, oldSupportsSecurityGroups, supportsSecurityGroups));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSupportsFloatingIps() {
+ return supportsFloatingIps;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSupportsFloatingIps(boolean newSupportsFloatingIps) {
+ boolean oldSupportsFloatingIps = supportsFloatingIps;
+ supportsFloatingIps = newSupportsFloatingIps;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS, oldSupportsFloatingIps, supportsFloatingIps));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OpenStackProject> getProjects() {
+ if (projects == null) {
+ projects = new EObjectContainmentEList<OpenStackProject>(OpenStackProject.class, this, LocationPackage.OPEN_STACK_LOCATION__PROJECTS);
+ }
+ return projects;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OpenStackUser> getUsers() {
+ if (users == null) {
+ users = new EObjectContainmentEList<OpenStackUser>(OpenStackUser.class, this, LocationPackage.OPEN_STACK_LOCATION__USERS);
+ }
+ return users;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Image> getImages() {
+ if (images == null) {
+ images = new EObjectContainmentEList<Image>(Image.class, this, LocationPackage.OPEN_STACK_LOCATION__IMAGES);
+ }
+ return images;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Flavor> getFlavors() {
+ if (flavors == null) {
+ flavors = new EObjectContainmentEList<Flavor>(Flavor.class, this, LocationPackage.OPEN_STACK_LOCATION__FLAVORS);
+ }
+ return flavors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Hypervisor> getHypervisors() {
+ if (hypervisors == null) {
+ hypervisors = new EObjectContainmentEList<Hypervisor>(Hypervisor.class, this, LocationPackage.OPEN_STACK_LOCATION__HYPERVISORS);
+ }
+ return hypervisors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void poll() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void mergeLocation(OpenStackLocation loc) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CeilometerAlarm createAlarm(CreateAlarmRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteAlarm(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerSample> createAlarm(SampleRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createServer(OpenstackRequestNewServer request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteServer(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createKeyPair(OpenstackRequestKeyPair request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void delete(OpenstackRequestDelete request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createFlavor(OpenstackRequestFlavor request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createSecurityGroup(OpenstackRequestSecurityGroup request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void serverAction(OpenstackRequestServerAction request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deployVmType(String vmTypeName, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void undeployVmType(String vmTypeName, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deployUser(User user, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void undeployUser(User user, String projectName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Network createNetwork(CreateNetworkRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Subnet createSubnet(CreateSubnetRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port createPort(CreatePortRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Router createRouter(CreateRouterRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteNetwork(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteSubnet(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deletePort(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteRouter(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void associateFloatingIp(String projectName, String ipId, String portId) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_LOCATION__PROJECTS:
+ return ((InternalEList<?>)getProjects()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_LOCATION__USERS:
+ return ((InternalEList<?>)getUsers()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_LOCATION__IMAGES:
+ return ((InternalEList<?>)getImages()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVORS:
+ return ((InternalEList<?>)getFlavors()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_LOCATION__HYPERVISORS:
+ return ((InternalEList<?>)getHypervisors()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES:
+ return getCeilometerAvailableCapabilites();
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ return getCeilometerUnavailableCapabilites();
+ case LocationPackage.OPEN_STACK_LOCATION__VERSION:
+ return getVersion();
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION:
+ return isRemoteLocation();
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME:
+ return getRemoteLocationName();
+ case LocationPackage.OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR:
+ return isAllowCreateFlavor();
+ case LocationPackage.OPEN_STACK_LOCATION__KEYSTONE_URL:
+ return getKeystoneUrl();
+ case LocationPackage.OPEN_STACK_LOCATION__BYPASS_IP:
+ return getBypassIp();
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVOR_ID:
+ return getFlavorId();
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS:
+ return isSupportsSecurityGroups();
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS:
+ return isSupportsFloatingIps();
+ case LocationPackage.OPEN_STACK_LOCATION__PROJECTS:
+ return getProjects();
+ case LocationPackage.OPEN_STACK_LOCATION__USERS:
+ return getUsers();
+ case LocationPackage.OPEN_STACK_LOCATION__IMAGES:
+ return getImages();
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVORS:
+ return getFlavors();
+ case LocationPackage.OPEN_STACK_LOCATION__HYPERVISORS:
+ return getHypervisors();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES:
+ getCeilometerAvailableCapabilites().clear();
+ getCeilometerAvailableCapabilites().addAll((Collection<? extends String>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ getCeilometerUnavailableCapabilites().clear();
+ getCeilometerUnavailableCapabilites().addAll((Collection<? extends String>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__VERSION:
+ setVersion((OpenStackVersion)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION:
+ setRemoteLocation((Boolean)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME:
+ setRemoteLocationName((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR:
+ setAllowCreateFlavor((Boolean)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__KEYSTONE_URL:
+ setKeystoneUrl((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__BYPASS_IP:
+ setBypassIp((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVOR_ID:
+ setFlavorId((Integer)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS:
+ setSupportsSecurityGroups((Boolean)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS:
+ setSupportsFloatingIps((Boolean)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__PROJECTS:
+ getProjects().clear();
+ getProjects().addAll((Collection<? extends OpenStackProject>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__USERS:
+ getUsers().clear();
+ getUsers().addAll((Collection<? extends OpenStackUser>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__IMAGES:
+ getImages().clear();
+ getImages().addAll((Collection<? extends Image>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVORS:
+ getFlavors().clear();
+ getFlavors().addAll((Collection<? extends Flavor>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__HYPERVISORS:
+ getHypervisors().clear();
+ getHypervisors().addAll((Collection<? extends Hypervisor>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES:
+ getCeilometerAvailableCapabilites().clear();
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ getCeilometerUnavailableCapabilites().clear();
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION:
+ setRemoteLocation(REMOTE_LOCATION_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME:
+ setRemoteLocationName(REMOTE_LOCATION_NAME_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR:
+ setAllowCreateFlavor(ALLOW_CREATE_FLAVOR_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__KEYSTONE_URL:
+ setKeystoneUrl(KEYSTONE_URL_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__BYPASS_IP:
+ setBypassIp(BYPASS_IP_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVOR_ID:
+ setFlavorId(FLAVOR_ID_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS:
+ setSupportsSecurityGroups(SUPPORTS_SECURITY_GROUPS_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS:
+ setSupportsFloatingIps(SUPPORTS_FLOATING_IPS_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__PROJECTS:
+ getProjects().clear();
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__USERS:
+ getUsers().clear();
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__IMAGES:
+ getImages().clear();
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVORS:
+ getFlavors().clear();
+ return;
+ case LocationPackage.OPEN_STACK_LOCATION__HYPERVISORS:
+ getHypervisors().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES:
+ return ceilometerAvailableCapabilites != null && !ceilometerAvailableCapabilites.isEmpty();
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES:
+ return ceilometerUnavailableCapabilites != null && !ceilometerUnavailableCapabilites.isEmpty();
+ case LocationPackage.OPEN_STACK_LOCATION__VERSION:
+ return version != VERSION_EDEFAULT;
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION:
+ return remoteLocation != REMOTE_LOCATION_EDEFAULT;
+ case LocationPackage.OPEN_STACK_LOCATION__REMOTE_LOCATION_NAME:
+ return REMOTE_LOCATION_NAME_EDEFAULT == null ? remoteLocationName != null : !REMOTE_LOCATION_NAME_EDEFAULT.equals(remoteLocationName);
+ case LocationPackage.OPEN_STACK_LOCATION__ALLOW_CREATE_FLAVOR:
+ return allowCreateFlavor != ALLOW_CREATE_FLAVOR_EDEFAULT;
+ case LocationPackage.OPEN_STACK_LOCATION__KEYSTONE_URL:
+ return KEYSTONE_URL_EDEFAULT == null ? keystoneUrl != null : !KEYSTONE_URL_EDEFAULT.equals(keystoneUrl);
+ case LocationPackage.OPEN_STACK_LOCATION__BYPASS_IP:
+ return BYPASS_IP_EDEFAULT == null ? bypassIp != null : !BYPASS_IP_EDEFAULT.equals(bypassIp);
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVOR_ID:
+ return flavorId != FLAVOR_ID_EDEFAULT;
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_SECURITY_GROUPS:
+ return supportsSecurityGroups != SUPPORTS_SECURITY_GROUPS_EDEFAULT;
+ case LocationPackage.OPEN_STACK_LOCATION__SUPPORTS_FLOATING_IPS:
+ return supportsFloatingIps != SUPPORTS_FLOATING_IPS_EDEFAULT;
+ case LocationPackage.OPEN_STACK_LOCATION__PROJECTS:
+ return projects != null && !projects.isEmpty();
+ case LocationPackage.OPEN_STACK_LOCATION__USERS:
+ return users != null && !users.isEmpty();
+ case LocationPackage.OPEN_STACK_LOCATION__IMAGES:
+ return images != null && !images.isEmpty();
+ case LocationPackage.OPEN_STACK_LOCATION__FLAVORS:
+ return flavors != null && !flavors.isEmpty();
+ case LocationPackage.OPEN_STACK_LOCATION__HYPERVISORS:
+ return hypervisors != null && !hypervisors.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == NeutronService.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == ComputeService.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == CeilometerService.class) {
+ switch (derivedFeatureID) {
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES: return CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES;
+ case LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES: return CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == NeutronService.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == ComputeService.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == CeilometerService.class) {
+ switch (baseFeatureID) {
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_AVAILABLE_CAPABILITES: return LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_AVAILABLE_CAPABILITES;
+ case CeilometerPackage.CEILOMETER_SERVICE__CEILOMETER_UNAVAILABLE_CAPABILITES: return LocationPackage.OPEN_STACK_LOCATION__CEILOMETER_UNAVAILABLE_CAPABILITES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == NeutronService.class) {
+ switch (baseOperationID) {
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_NETWORK__CREATENETWORKREQUEST: return LocationPackage.OPEN_STACK_LOCATION___CREATE_NETWORK__CREATENETWORKREQUEST;
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_SUBNET__CREATESUBNETREQUEST: return LocationPackage.OPEN_STACK_LOCATION___CREATE_SUBNET__CREATESUBNETREQUEST;
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_PORT__CREATEPORTREQUEST: return LocationPackage.OPEN_STACK_LOCATION___CREATE_PORT__CREATEPORTREQUEST;
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_ROUTER__CREATEROUTERREQUEST: return LocationPackage.OPEN_STACK_LOCATION___CREATE_ROUTER__CREATEROUTERREQUEST;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_NETWORK__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DELETE_NETWORK__STRING_STRING;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_SUBNET__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DELETE_SUBNET__STRING_STRING;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_PORT__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DELETE_PORT__STRING_STRING;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_ROUTER__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DELETE_ROUTER__STRING_STRING;
+ case NeutronPackage.NEUTRON_SERVICE___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING;
+ default: return -1;
+ }
+ }
+ if (baseClass == ComputeService.class) {
+ switch (baseOperationID) {
+ case ComputePackage.COMPUTE_SERVICE___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER: return LocationPackage.OPEN_STACK_LOCATION___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER;
+ case ComputePackage.COMPUTE_SERVICE___DELETE_SERVER__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DELETE_SERVER__STRING_STRING;
+ case ComputePackage.COMPUTE_SERVICE___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR: return LocationPackage.OPEN_STACK_LOCATION___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR;
+ case ComputePackage.COMPUTE_SERVICE___DELETE__OPENSTACKREQUESTDELETE: return LocationPackage.OPEN_STACK_LOCATION___DELETE__OPENSTACKREQUESTDELETE;
+ case ComputePackage.COMPUTE_SERVICE___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR: return LocationPackage.OPEN_STACK_LOCATION___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR;
+ case ComputePackage.COMPUTE_SERVICE___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP: return LocationPackage.OPEN_STACK_LOCATION___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP;
+ case ComputePackage.COMPUTE_SERVICE___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION: return LocationPackage.OPEN_STACK_LOCATION___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION;
+ case ComputePackage.COMPUTE_SERVICE___DEPLOY_VM_TYPE__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DEPLOY_VM_TYPE__STRING_STRING;
+ case ComputePackage.COMPUTE_SERVICE___UNDEPLOY_VM_TYPE__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___UNDEPLOY_VM_TYPE__STRING_STRING;
+ case ComputePackage.COMPUTE_SERVICE___DEPLOY_USER__USER_STRING: return LocationPackage.OPEN_STACK_LOCATION___DEPLOY_USER__USER_STRING;
+ case ComputePackage.COMPUTE_SERVICE___UNDEPLOY_USER__USER_STRING: return LocationPackage.OPEN_STACK_LOCATION___UNDEPLOY_USER__USER_STRING;
+ default: return -1;
+ }
+ }
+ if (baseClass == CeilometerService.class) {
+ switch (baseOperationID) {
+ case CeilometerPackage.CEILOMETER_SERVICE___CREATE_ALARM__CREATEALARMREQUEST: return LocationPackage.OPEN_STACK_LOCATION___CREATE_ALARM__CREATEALARMREQUEST;
+ case CeilometerPackage.CEILOMETER_SERVICE___DELETE_ALARM__STRING_STRING: return LocationPackage.OPEN_STACK_LOCATION___DELETE_ALARM__STRING_STRING;
+ case CeilometerPackage.CEILOMETER_SERVICE___CREATE_ALARM__SAMPLEREQUEST: return LocationPackage.OPEN_STACK_LOCATION___CREATE_ALARM__SAMPLEREQUEST;
+ default: return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case LocationPackage.OPEN_STACK_LOCATION___POLL:
+ poll();
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___MERGE_LOCATION__OPENSTACKLOCATION:
+ mergeLocation((OpenStackLocation)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_ALARM__CREATEALARMREQUEST:
+ return createAlarm((CreateAlarmRequest)arguments.get(0));
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE_ALARM__STRING_STRING:
+ deleteAlarm((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_ALARM__SAMPLEREQUEST:
+ return createAlarm((SampleRequest)arguments.get(0));
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_SERVER__OPENSTACKREQUESTNEWSERVER:
+ createServer((OpenstackRequestNewServer)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE_SERVER__STRING_STRING:
+ deleteServer((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_KEY_PAIR__OPENSTACKREQUESTKEYPAIR:
+ createKeyPair((OpenstackRequestKeyPair)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE__OPENSTACKREQUESTDELETE:
+ delete((OpenstackRequestDelete)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_FLAVOR__OPENSTACKREQUESTFLAVOR:
+ createFlavor((OpenstackRequestFlavor)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_SECURITY_GROUP__OPENSTACKREQUESTSECURITYGROUP:
+ createSecurityGroup((OpenstackRequestSecurityGroup)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___SERVER_ACTION__OPENSTACKREQUESTSERVERACTION:
+ serverAction((OpenstackRequestServerAction)arguments.get(0));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DEPLOY_VM_TYPE__STRING_STRING:
+ deployVmType((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___UNDEPLOY_VM_TYPE__STRING_STRING:
+ undeployVmType((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DEPLOY_USER__USER_STRING:
+ deployUser((User)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___UNDEPLOY_USER__USER_STRING:
+ undeployUser((User)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_NETWORK__CREATENETWORKREQUEST:
+ return createNetwork((CreateNetworkRequest)arguments.get(0));
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_SUBNET__CREATESUBNETREQUEST:
+ return createSubnet((CreateSubnetRequest)arguments.get(0));
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_PORT__CREATEPORTREQUEST:
+ return createPort((CreatePortRequest)arguments.get(0));
+ case LocationPackage.OPEN_STACK_LOCATION___CREATE_ROUTER__CREATEROUTERREQUEST:
+ return createRouter((CreateRouterRequest)arguments.get(0));
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE_NETWORK__STRING_STRING:
+ deleteNetwork((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE_SUBNET__STRING_STRING:
+ deleteSubnet((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE_PORT__STRING_STRING:
+ deletePort((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___DELETE_ROUTER__STRING_STRING:
+ deleteRouter((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case LocationPackage.OPEN_STACK_LOCATION___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING:
+ associateFloatingIp((String)arguments.get(0), (String)arguments.get(1), (String)arguments.get(2));
+ return null;
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ceilometerAvailableCapabilites: ");
+ result.append(ceilometerAvailableCapabilites);
+ result.append(", ceilometerUnavailableCapabilites: ");
+ result.append(ceilometerUnavailableCapabilites);
+ result.append(", version: ");
+ result.append(version);
+ result.append(", remoteLocation: ");
+ result.append(remoteLocation);
+ result.append(", remoteLocationName: ");
+ result.append(remoteLocationName);
+ result.append(", allowCreateFlavor: ");
+ result.append(allowCreateFlavor);
+ result.append(", keystoneUrl: ");
+ result.append(keystoneUrl);
+ result.append(", bypassIp: ");
+ result.append(bypassIp);
+ result.append(", flavorId: ");
+ result.append(flavorId);
+ result.append(", supportsSecurityGroups: ");
+ result.append(supportsSecurityGroups);
+ result.append(", supportsFloatingIps: ");
+ result.append(supportsFloatingIps);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenStackLocationImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackProjectImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackProjectImpl.java
new file mode 100644
index 0000000..3e36228
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackProjectImpl.java
@@ -0,0 +1,1227 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerAlarm;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerMeter;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerPackage;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerResource;
+import org.openecomp.ncomp.openstack.compute.FloatingIp;
+import org.openecomp.ncomp.openstack.compute.KeyPair;
+import org.openecomp.ncomp.openstack.compute.SecurityGroup;
+import org.openecomp.ncomp.openstack.compute.Server;
+import org.openecomp.ncomp.openstack.compute.Volume;
+
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.openecomp.ncomp.openstack.location.OpenStackProject;
+import org.openecomp.ncomp.openstack.location.OpenStackUser;
+
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup;
+import org.openecomp.ncomp.openstack.neutron.Port;
+import org.openecomp.ncomp.openstack.neutron.Router;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Open Stack Project</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getAlarms <em>Alarms</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getResources <em>Resources</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getMeters <em>Meters</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getID <em>ID</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getAdminUser <em>Admin User</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getTenantId <em>Tenant Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getRegion <em>Region</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getPrivateNetwork <em>Private Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getPublicNetwork <em>Public Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getApiKey <em>Api Key</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getServers <em>Servers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getUsers <em>Users</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getControllerUser <em>Controller User</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getVolumes <em>Volumes</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getIps <em>Ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getGroups <em>Groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getKeypairs <em>Keypairs</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getNetworks <em>Networks</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getSubnets <em>Subnets</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getRouters <em>Routers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getSecurity_groups <em>Security groups</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackProjectImpl#getFloatingips <em>Floatingips</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenStackProjectImpl extends NamedEntityImpl implements OpenStackProject {
+ /**
+ * The cached value of the '{@link #getAlarms() <em>Alarms</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlarms()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerAlarm> alarms;
+
+ /**
+ * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerResource> resources;
+
+ /**
+ * The cached value of the '{@link #getMeters() <em>Meters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeters()
+ * @generated
+ * @ordered
+ */
+ protected EList<CeilometerMeter> meters;
+
+ /**
+ * The default value of the '{@link #getID() <em>ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getID()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getID() <em>ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getID()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdminUser() <em>Admin User</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdminUser()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADMIN_USER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdminUser() <em>Admin User</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdminUser()
+ * @generated
+ * @ordered
+ */
+ protected String adminUser = ADMIN_USER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTenantId() <em>Tenant Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenantId()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenantId() <em>Tenant Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenantId()
+ * @generated
+ * @ordered
+ */
+ protected String tenantId = TENANT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRegion() <em>Region</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRegion()
+ * @generated
+ * @ordered
+ */
+ protected static final String REGION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRegion() <em>Region</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRegion()
+ * @generated
+ * @ordered
+ */
+ protected String region = REGION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrivateNetwork() <em>Private Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrivateNetwork()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRIVATE_NETWORK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrivateNetwork() <em>Private Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrivateNetwork()
+ * @generated
+ * @ordered
+ */
+ protected String privateNetwork = PRIVATE_NETWORK_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPublicNetwork() <em>Public Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublicNetwork()
+ * @generated
+ * @ordered
+ */
+ protected static final String PUBLIC_NETWORK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPublicNetwork() <em>Public Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublicNetwork()
+ * @generated
+ * @ordered
+ */
+ protected String publicNetwork = PUBLIC_NETWORK_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getApiKey() <em>Api Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getApiKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String API_KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getApiKey() <em>Api Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getApiKey()
+ * @generated
+ * @ordered
+ */
+ protected String apiKey = API_KEY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getServers() <em>Servers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getServers()
+ * @generated
+ * @ordered
+ */
+ protected EList<Server> servers;
+
+ /**
+ * The cached value of the '{@link #getUsers() <em>Users</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsers()
+ * @generated
+ * @ordered
+ */
+ protected EList<OpenStackUser> users;
+
+ /**
+ * The cached value of the '{@link #getControllerUser() <em>Controller User</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControllerUser()
+ * @generated
+ * @ordered
+ */
+ protected OpenStackUser controllerUser;
+
+ /**
+ * The cached value of the '{@link #getVolumes() <em>Volumes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolumes()
+ * @generated
+ * @ordered
+ */
+ protected EList<Volume> volumes;
+
+ /**
+ * The cached value of the '{@link #getIps() <em>Ips</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIps()
+ * @generated
+ * @ordered
+ */
+ protected EList<FloatingIp> ips;
+
+ /**
+ * The cached value of the '{@link #getGroups() <em>Groups</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGroups()
+ * @generated
+ * @ordered
+ */
+ protected EList<SecurityGroup> groups;
+
+ /**
+ * The cached value of the '{@link #getKeypairs() <em>Keypairs</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeypairs()
+ * @generated
+ * @ordered
+ */
+ protected EList<KeyPair> keypairs;
+
+ /**
+ * The cached value of the '{@link #getNetworks() <em>Networks</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetworks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Network> networks;
+
+ /**
+ * The cached value of the '{@link #getSubnets() <em>Subnets</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubnets()
+ * @generated
+ * @ordered
+ */
+ protected EList<Subnet> subnets;
+
+ /**
+ * The cached value of the '{@link #getRouters() <em>Routers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRouters()
+ * @generated
+ * @ordered
+ */
+ protected EList<Router> routers;
+
+ /**
+ * The cached value of the '{@link #getPorts() <em>Ports</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPorts()
+ * @generated
+ * @ordered
+ */
+ protected EList<Port> ports;
+
+ /**
+ * The cached value of the '{@link #getSecurity_groups() <em>Security groups</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSecurity_groups()
+ * @generated
+ * @ordered
+ */
+ protected EList<NeutronSecurityGroup> security_groups;
+
+ /**
+ * The cached value of the '{@link #getFloatingips() <em>Floatingips</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloatingips()
+ * @generated
+ * @ordered
+ */
+ protected EList<NeutronFloatingIp> floatingips;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenStackProjectImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.OPEN_STACK_PROJECT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerAlarm> getAlarms() {
+ if (alarms == null) {
+ alarms = new EObjectContainmentEList<CeilometerAlarm>(CeilometerAlarm.class, this, LocationPackage.OPEN_STACK_PROJECT__ALARMS);
+ }
+ return alarms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerResource> getResources() {
+ if (resources == null) {
+ resources = new EObjectContainmentEList<CeilometerResource>(CeilometerResource.class, this, LocationPackage.OPEN_STACK_PROJECT__RESOURCES);
+ }
+ return resources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CeilometerMeter> getMeters() {
+ if (meters == null) {
+ meters = new EObjectContainmentEList<CeilometerMeter>(CeilometerMeter.class, this, LocationPackage.OPEN_STACK_PROJECT__METERS);
+ }
+ return meters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getID() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setID(String newID) {
+ String oldID = id;
+ id = newID;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__ID, oldID, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAdminUser() {
+ return adminUser;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdminUser(String newAdminUser) {
+ String oldAdminUser = adminUser;
+ adminUser = newAdminUser;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__ADMIN_USER, oldAdminUser, adminUser));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenantId(String newTenantId) {
+ String oldTenantId = tenantId;
+ tenantId = newTenantId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__TENANT_ID, oldTenantId, tenantId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRegion() {
+ return region;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRegion(String newRegion) {
+ String oldRegion = region;
+ region = newRegion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__REGION, oldRegion, region));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrivateNetwork() {
+ return privateNetwork;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrivateNetwork(String newPrivateNetwork) {
+ String oldPrivateNetwork = privateNetwork;
+ privateNetwork = newPrivateNetwork;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__PRIVATE_NETWORK, oldPrivateNetwork, privateNetwork));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPublicNetwork() {
+ return publicNetwork;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPublicNetwork(String newPublicNetwork) {
+ String oldPublicNetwork = publicNetwork;
+ publicNetwork = newPublicNetwork;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__PUBLIC_NETWORK, oldPublicNetwork, publicNetwork));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getApiKey() {
+ return apiKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setApiKey(String newApiKey) {
+ String oldApiKey = apiKey;
+ apiKey = newApiKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__API_KEY, oldApiKey, apiKey));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Server> getServers() {
+ if (servers == null) {
+ servers = new EObjectContainmentEList<Server>(Server.class, this, LocationPackage.OPEN_STACK_PROJECT__SERVERS);
+ }
+ return servers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OpenStackUser> getUsers() {
+ if (users == null) {
+ users = new EObjectResolvingEList<OpenStackUser>(OpenStackUser.class, this, LocationPackage.OPEN_STACK_PROJECT__USERS);
+ }
+ return users;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackUser getControllerUser() {
+ if (controllerUser != null && controllerUser.eIsProxy()) {
+ InternalEObject oldControllerUser = (InternalEObject)controllerUser;
+ controllerUser = (OpenStackUser)eResolveProxy(oldControllerUser);
+ if (controllerUser != oldControllerUser) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, LocationPackage.OPEN_STACK_PROJECT__CONTROLLER_USER, oldControllerUser, controllerUser));
+ }
+ }
+ return controllerUser;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenStackUser basicGetControllerUser() {
+ return controllerUser;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setControllerUser(OpenStackUser newControllerUser) {
+ OpenStackUser oldControllerUser = controllerUser;
+ controllerUser = newControllerUser;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_PROJECT__CONTROLLER_USER, oldControllerUser, controllerUser));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Volume> getVolumes() {
+ if (volumes == null) {
+ volumes = new EObjectContainmentEList<Volume>(Volume.class, this, LocationPackage.OPEN_STACK_PROJECT__VOLUMES);
+ }
+ return volumes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FloatingIp> getIps() {
+ if (ips == null) {
+ ips = new EObjectContainmentEList<FloatingIp>(FloatingIp.class, this, LocationPackage.OPEN_STACK_PROJECT__IPS);
+ }
+ return ips;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SecurityGroup> getGroups() {
+ if (groups == null) {
+ groups = new EObjectContainmentEList<SecurityGroup>(SecurityGroup.class, this, LocationPackage.OPEN_STACK_PROJECT__GROUPS);
+ }
+ return groups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<KeyPair> getKeypairs() {
+ if (keypairs == null) {
+ keypairs = new EObjectContainmentEList<KeyPair>(KeyPair.class, this, LocationPackage.OPEN_STACK_PROJECT__KEYPAIRS);
+ }
+ return keypairs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Network> getNetworks() {
+ if (networks == null) {
+ networks = new EObjectContainmentEList<Network>(Network.class, this, LocationPackage.OPEN_STACK_PROJECT__NETWORKS);
+ }
+ return networks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Subnet> getSubnets() {
+ if (subnets == null) {
+ subnets = new EObjectContainmentEList<Subnet>(Subnet.class, this, LocationPackage.OPEN_STACK_PROJECT__SUBNETS);
+ }
+ return subnets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Router> getRouters() {
+ if (routers == null) {
+ routers = new EObjectContainmentEList<Router>(Router.class, this, LocationPackage.OPEN_STACK_PROJECT__ROUTERS);
+ }
+ return routers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Port> getPorts() {
+ if (ports == null) {
+ ports = new EObjectContainmentEList<Port>(Port.class, this, LocationPackage.OPEN_STACK_PROJECT__PORTS);
+ }
+ return ports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NeutronSecurityGroup> getSecurity_groups() {
+ if (security_groups == null) {
+ security_groups = new EObjectContainmentEList<NeutronSecurityGroup>(NeutronSecurityGroup.class, this, LocationPackage.OPEN_STACK_PROJECT__SECURITY_GROUPS);
+ }
+ return security_groups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NeutronFloatingIp> getFloatingips() {
+ if (floatingips == null) {
+ floatingips = new EObjectContainmentEList<NeutronFloatingIp>(NeutronFloatingIp.class, this, LocationPackage.OPEN_STACK_PROJECT__FLOATINGIPS);
+ }
+ return floatingips;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void updateNovaState() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Network createNetwork(CreateNetworkRequest r) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_PROJECT__ALARMS:
+ return ((InternalEList<?>)getAlarms()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__RESOURCES:
+ return ((InternalEList<?>)getResources()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__METERS:
+ return ((InternalEList<?>)getMeters()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__SERVERS:
+ return ((InternalEList<?>)getServers()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__VOLUMES:
+ return ((InternalEList<?>)getVolumes()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__IPS:
+ return ((InternalEList<?>)getIps()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__GROUPS:
+ return ((InternalEList<?>)getGroups()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__KEYPAIRS:
+ return ((InternalEList<?>)getKeypairs()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__NETWORKS:
+ return ((InternalEList<?>)getNetworks()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__SUBNETS:
+ return ((InternalEList<?>)getSubnets()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__ROUTERS:
+ return ((InternalEList<?>)getRouters()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__PORTS:
+ return ((InternalEList<?>)getPorts()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__SECURITY_GROUPS:
+ return ((InternalEList<?>)getSecurity_groups()).basicRemove(otherEnd, msgs);
+ case LocationPackage.OPEN_STACK_PROJECT__FLOATINGIPS:
+ return ((InternalEList<?>)getFloatingips()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_PROJECT__ALARMS:
+ return getAlarms();
+ case LocationPackage.OPEN_STACK_PROJECT__RESOURCES:
+ return getResources();
+ case LocationPackage.OPEN_STACK_PROJECT__METERS:
+ return getMeters();
+ case LocationPackage.OPEN_STACK_PROJECT__ID:
+ return getID();
+ case LocationPackage.OPEN_STACK_PROJECT__ADMIN_USER:
+ return getAdminUser();
+ case LocationPackage.OPEN_STACK_PROJECT__TENANT_ID:
+ return getTenantId();
+ case LocationPackage.OPEN_STACK_PROJECT__REGION:
+ return getRegion();
+ case LocationPackage.OPEN_STACK_PROJECT__PRIVATE_NETWORK:
+ return getPrivateNetwork();
+ case LocationPackage.OPEN_STACK_PROJECT__PUBLIC_NETWORK:
+ return getPublicNetwork();
+ case LocationPackage.OPEN_STACK_PROJECT__API_KEY:
+ return getApiKey();
+ case LocationPackage.OPEN_STACK_PROJECT__SERVERS:
+ return getServers();
+ case LocationPackage.OPEN_STACK_PROJECT__USERS:
+ return getUsers();
+ case LocationPackage.OPEN_STACK_PROJECT__CONTROLLER_USER:
+ if (resolve) return getControllerUser();
+ return basicGetControllerUser();
+ case LocationPackage.OPEN_STACK_PROJECT__VOLUMES:
+ return getVolumes();
+ case LocationPackage.OPEN_STACK_PROJECT__IPS:
+ return getIps();
+ case LocationPackage.OPEN_STACK_PROJECT__GROUPS:
+ return getGroups();
+ case LocationPackage.OPEN_STACK_PROJECT__KEYPAIRS:
+ return getKeypairs();
+ case LocationPackage.OPEN_STACK_PROJECT__NETWORKS:
+ return getNetworks();
+ case LocationPackage.OPEN_STACK_PROJECT__SUBNETS:
+ return getSubnets();
+ case LocationPackage.OPEN_STACK_PROJECT__ROUTERS:
+ return getRouters();
+ case LocationPackage.OPEN_STACK_PROJECT__PORTS:
+ return getPorts();
+ case LocationPackage.OPEN_STACK_PROJECT__SECURITY_GROUPS:
+ return getSecurity_groups();
+ case LocationPackage.OPEN_STACK_PROJECT__FLOATINGIPS:
+ return getFloatingips();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_PROJECT__ALARMS:
+ getAlarms().clear();
+ getAlarms().addAll((Collection<? extends CeilometerAlarm>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__RESOURCES:
+ getResources().clear();
+ getResources().addAll((Collection<? extends CeilometerResource>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__METERS:
+ getMeters().clear();
+ getMeters().addAll((Collection<? extends CeilometerMeter>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__ID:
+ setID((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__ADMIN_USER:
+ setAdminUser((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__TENANT_ID:
+ setTenantId((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__REGION:
+ setRegion((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__PRIVATE_NETWORK:
+ setPrivateNetwork((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__PUBLIC_NETWORK:
+ setPublicNetwork((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__API_KEY:
+ setApiKey((String)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__SERVERS:
+ getServers().clear();
+ getServers().addAll((Collection<? extends Server>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__USERS:
+ getUsers().clear();
+ getUsers().addAll((Collection<? extends OpenStackUser>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__CONTROLLER_USER:
+ setControllerUser((OpenStackUser)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__VOLUMES:
+ getVolumes().clear();
+ getVolumes().addAll((Collection<? extends Volume>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__IPS:
+ getIps().clear();
+ getIps().addAll((Collection<? extends FloatingIp>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__GROUPS:
+ getGroups().clear();
+ getGroups().addAll((Collection<? extends SecurityGroup>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__KEYPAIRS:
+ getKeypairs().clear();
+ getKeypairs().addAll((Collection<? extends KeyPair>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__NETWORKS:
+ getNetworks().clear();
+ getNetworks().addAll((Collection<? extends Network>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__SUBNETS:
+ getSubnets().clear();
+ getSubnets().addAll((Collection<? extends Subnet>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__ROUTERS:
+ getRouters().clear();
+ getRouters().addAll((Collection<? extends Router>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__PORTS:
+ getPorts().clear();
+ getPorts().addAll((Collection<? extends Port>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__SECURITY_GROUPS:
+ getSecurity_groups().clear();
+ getSecurity_groups().addAll((Collection<? extends NeutronSecurityGroup>)newValue);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__FLOATINGIPS:
+ getFloatingips().clear();
+ getFloatingips().addAll((Collection<? extends NeutronFloatingIp>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_PROJECT__ALARMS:
+ getAlarms().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__RESOURCES:
+ getResources().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__METERS:
+ getMeters().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__ID:
+ setID(ID_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__ADMIN_USER:
+ setAdminUser(ADMIN_USER_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__TENANT_ID:
+ setTenantId(TENANT_ID_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__REGION:
+ setRegion(REGION_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__PRIVATE_NETWORK:
+ setPrivateNetwork(PRIVATE_NETWORK_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__PUBLIC_NETWORK:
+ setPublicNetwork(PUBLIC_NETWORK_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__API_KEY:
+ setApiKey(API_KEY_EDEFAULT);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__SERVERS:
+ getServers().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__USERS:
+ getUsers().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__CONTROLLER_USER:
+ setControllerUser((OpenStackUser)null);
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__VOLUMES:
+ getVolumes().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__IPS:
+ getIps().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__GROUPS:
+ getGroups().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__KEYPAIRS:
+ getKeypairs().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__NETWORKS:
+ getNetworks().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__SUBNETS:
+ getSubnets().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__ROUTERS:
+ getRouters().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__PORTS:
+ getPorts().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__SECURITY_GROUPS:
+ getSecurity_groups().clear();
+ return;
+ case LocationPackage.OPEN_STACK_PROJECT__FLOATINGIPS:
+ getFloatingips().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_PROJECT__ALARMS:
+ return alarms != null && !alarms.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__RESOURCES:
+ return resources != null && !resources.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__METERS:
+ return meters != null && !meters.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case LocationPackage.OPEN_STACK_PROJECT__ADMIN_USER:
+ return ADMIN_USER_EDEFAULT == null ? adminUser != null : !ADMIN_USER_EDEFAULT.equals(adminUser);
+ case LocationPackage.OPEN_STACK_PROJECT__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenantId != null : !TENANT_ID_EDEFAULT.equals(tenantId);
+ case LocationPackage.OPEN_STACK_PROJECT__REGION:
+ return REGION_EDEFAULT == null ? region != null : !REGION_EDEFAULT.equals(region);
+ case LocationPackage.OPEN_STACK_PROJECT__PRIVATE_NETWORK:
+ return PRIVATE_NETWORK_EDEFAULT == null ? privateNetwork != null : !PRIVATE_NETWORK_EDEFAULT.equals(privateNetwork);
+ case LocationPackage.OPEN_STACK_PROJECT__PUBLIC_NETWORK:
+ return PUBLIC_NETWORK_EDEFAULT == null ? publicNetwork != null : !PUBLIC_NETWORK_EDEFAULT.equals(publicNetwork);
+ case LocationPackage.OPEN_STACK_PROJECT__API_KEY:
+ return API_KEY_EDEFAULT == null ? apiKey != null : !API_KEY_EDEFAULT.equals(apiKey);
+ case LocationPackage.OPEN_STACK_PROJECT__SERVERS:
+ return servers != null && !servers.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__USERS:
+ return users != null && !users.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__CONTROLLER_USER:
+ return controllerUser != null;
+ case LocationPackage.OPEN_STACK_PROJECT__VOLUMES:
+ return volumes != null && !volumes.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__IPS:
+ return ips != null && !ips.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__GROUPS:
+ return groups != null && !groups.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__KEYPAIRS:
+ return keypairs != null && !keypairs.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__NETWORKS:
+ return networks != null && !networks.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__SUBNETS:
+ return subnets != null && !subnets.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__ROUTERS:
+ return routers != null && !routers.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__PORTS:
+ return ports != null && !ports.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__SECURITY_GROUPS:
+ return security_groups != null && !security_groups.isEmpty();
+ case LocationPackage.OPEN_STACK_PROJECT__FLOATINGIPS:
+ return floatingips != null && !floatingips.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == CeilometerProject.class) {
+ switch (derivedFeatureID) {
+ case LocationPackage.OPEN_STACK_PROJECT__ALARMS: return CeilometerPackage.CEILOMETER_PROJECT__ALARMS;
+ case LocationPackage.OPEN_STACK_PROJECT__RESOURCES: return CeilometerPackage.CEILOMETER_PROJECT__RESOURCES;
+ case LocationPackage.OPEN_STACK_PROJECT__METERS: return CeilometerPackage.CEILOMETER_PROJECT__METERS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == CeilometerProject.class) {
+ switch (baseFeatureID) {
+ case CeilometerPackage.CEILOMETER_PROJECT__ALARMS: return LocationPackage.OPEN_STACK_PROJECT__ALARMS;
+ case CeilometerPackage.CEILOMETER_PROJECT__RESOURCES: return LocationPackage.OPEN_STACK_PROJECT__RESOURCES;
+ case CeilometerPackage.CEILOMETER_PROJECT__METERS: return LocationPackage.OPEN_STACK_PROJECT__METERS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case LocationPackage.OPEN_STACK_PROJECT___UPDATE_NOVA_STATE:
+ updateNovaState();
+ return null;
+ case LocationPackage.OPEN_STACK_PROJECT___CREATE_NETWORK__CREATENETWORKREQUEST:
+ return createNetwork((CreateNetworkRequest)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ID: ");
+ result.append(id);
+ result.append(", adminUser: ");
+ result.append(adminUser);
+ result.append(", tenantId: ");
+ result.append(tenantId);
+ result.append(", region: ");
+ result.append(region);
+ result.append(", privateNetwork: ");
+ result.append(privateNetwork);
+ result.append(", publicNetwork: ");
+ result.append(publicNetwork);
+ result.append(", apiKey: ");
+ result.append(apiKey);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenStackProjectImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackUserImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackUserImpl.java
new file mode 100644
index 0000000..836493c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/impl/OpenStackUserImpl.java
@@ -0,0 +1,185 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.impl;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.openecomp.ncomp.openstack.location.LocationPackage;
+import org.openecomp.ncomp.openstack.location.OpenStackUser;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Open Stack User</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.location.impl.OpenStackUserImpl#getPassword <em>Password</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OpenStackUserImpl extends NamedEntityImpl implements OpenStackUser {
+ /**
+ * The default value of the '{@link #getPassword() <em>Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPassword()
+ * @generated
+ * @ordered
+ */
+ protected static final String PASSWORD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPassword() <em>Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPassword()
+ * @generated
+ * @ordered
+ */
+ protected String password = PASSWORD_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenStackUserImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.OPEN_STACK_USER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPassword(String newPassword) {
+ String oldPassword = password;
+ password = newPassword;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.OPEN_STACK_USER__PASSWORD, oldPassword, password));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_USER__PASSWORD:
+ return getPassword();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_USER__PASSWORD:
+ setPassword((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_USER__PASSWORD:
+ setPassword(PASSWORD_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.OPEN_STACK_USER__PASSWORD:
+ return PASSWORD_EDEFAULT == null ? password != null : !PASSWORD_EDEFAULT.equals(password);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (password: ");
+ result.append(password);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OpenStackUserImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationAdapterFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationAdapterFactory.java
new file mode 100644
index 0000000..1b84285
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationAdapterFactory.java
@@ -0,0 +1,347 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService;
+import org.openecomp.ncomp.openstack.compute.ComputeService;
+
+import org.openecomp.ncomp.openstack.location.*;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronService;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage
+ * @generated
+ */
+public class LocationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static LocationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = LocationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocationSwitch<Adapter> modelSwitch =
+ new LocationSwitch<Adapter>() {
+ @Override
+ public Adapter caseOpenStackLocation(OpenStackLocation object) {
+ return createOpenStackLocationAdapter();
+ }
+ @Override
+ public Adapter caseOpenStackProject(OpenStackProject object) {
+ return createOpenStackProjectAdapter();
+ }
+ @Override
+ public Adapter caseOpenStackUser(OpenStackUser object) {
+ return createOpenStackUserAdapter();
+ }
+ @Override
+ public Adapter caseHypervisorService(HypervisorService object) {
+ return createHypervisorServiceAdapter();
+ }
+ @Override
+ public Adapter caseHypervisorCpuTopology(HypervisorCpuTopology object) {
+ return createHypervisorCpuTopologyAdapter();
+ }
+ @Override
+ public Adapter caseHypervisorCpuInfo(HypervisorCpuInfo object) {
+ return createHypervisorCpuInfoAdapter();
+ }
+ @Override
+ public Adapter caseHypervisor(Hypervisor object) {
+ return createHypervisorAdapter();
+ }
+ @Override
+ public Adapter caseNamedEntity(NamedEntity object) {
+ return createNamedEntityAdapter();
+ }
+ @Override
+ public Adapter caseNeutronService(NeutronService object) {
+ return createNeutronServiceAdapter();
+ }
+ @Override
+ public Adapter caseComputeService(ComputeService object) {
+ return createComputeServiceAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerService(CeilometerService object) {
+ return createCeilometerServiceAdapter();
+ }
+ @Override
+ public Adapter caseCeilometerProject(CeilometerProject object) {
+ return createCeilometerProjectAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.OpenStackLocation <em>Open Stack Location</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackLocation
+ * @generated
+ */
+ public Adapter createOpenStackLocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.OpenStackProject <em>Open Stack Project</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackProject
+ * @generated
+ */
+ public Adapter createOpenStackProjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.OpenStackUser <em>Open Stack User</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.OpenStackUser
+ * @generated
+ */
+ public Adapter createOpenStackUserAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.HypervisorService <em>Hypervisor Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorService
+ * @generated
+ */
+ public Adapter createHypervisorServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuTopology <em>Hypervisor Cpu Topology</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuTopology
+ * @generated
+ */
+ public Adapter createHypervisorCpuTopologyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.HypervisorCpuInfo <em>Hypervisor Cpu Info</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.HypervisorCpuInfo
+ * @generated
+ */
+ public Adapter createHypervisorCpuInfoAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.location.Hypervisor <em>Hypervisor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.location.Hypervisor
+ * @generated
+ */
+ public Adapter createHypervisorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.core.NamedEntity <em>Named Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.core.NamedEntity
+ * @generated
+ */
+ public Adapter createNamedEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService
+ * @generated
+ */
+ public Adapter createNeutronServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.compute.ComputeService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.compute.ComputeService
+ * @generated
+ */
+ public Adapter createComputeServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerService
+ * @generated
+ */
+ public Adapter createCeilometerServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.ceilometer.CeilometerProject <em>Project</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.ceilometer.CeilometerProject
+ * @generated
+ */
+ public Adapter createCeilometerProjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //LocationAdapterFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationSwitch.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationSwitch.java
new file mode 100644
index 0000000..d60e0c6
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/location/util/LocationSwitch.java
@@ -0,0 +1,348 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.location.util;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject;
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService;
+import org.openecomp.ncomp.openstack.compute.ComputeService;
+
+import org.openecomp.ncomp.openstack.location.*;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronService;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.location.LocationPackage
+ * @generated
+ */
+public class LocationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static LocationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = LocationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case LocationPackage.OPEN_STACK_LOCATION: {
+ OpenStackLocation openStackLocation = (OpenStackLocation)theEObject;
+ T result = caseOpenStackLocation(openStackLocation);
+ if (result == null) result = caseNamedEntity(openStackLocation);
+ if (result == null) result = caseNeutronService(openStackLocation);
+ if (result == null) result = caseComputeService(openStackLocation);
+ if (result == null) result = caseCeilometerService(openStackLocation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.OPEN_STACK_PROJECT: {
+ OpenStackProject openStackProject = (OpenStackProject)theEObject;
+ T result = caseOpenStackProject(openStackProject);
+ if (result == null) result = caseNamedEntity(openStackProject);
+ if (result == null) result = caseCeilometerProject(openStackProject);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.OPEN_STACK_USER: {
+ OpenStackUser openStackUser = (OpenStackUser)theEObject;
+ T result = caseOpenStackUser(openStackUser);
+ if (result == null) result = caseNamedEntity(openStackUser);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.HYPERVISOR_SERVICE: {
+ HypervisorService hypervisorService = (HypervisorService)theEObject;
+ T result = caseHypervisorService(hypervisorService);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.HYPERVISOR_CPU_TOPOLOGY: {
+ HypervisorCpuTopology hypervisorCpuTopology = (HypervisorCpuTopology)theEObject;
+ T result = caseHypervisorCpuTopology(hypervisorCpuTopology);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.HYPERVISOR_CPU_INFO: {
+ HypervisorCpuInfo hypervisorCpuInfo = (HypervisorCpuInfo)theEObject;
+ T result = caseHypervisorCpuInfo(hypervisorCpuInfo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.HYPERVISOR: {
+ Hypervisor hypervisor = (Hypervisor)theEObject;
+ T result = caseHypervisor(hypervisor);
+ if (result == null) result = caseNamedEntity(hypervisor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Location</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Location</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackLocation(OpenStackLocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Project</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Project</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackProject(OpenStackProject object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack User</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack User</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackUser(OpenStackUser object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hypervisor Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hypervisor Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHypervisorService(HypervisorService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hypervisor Cpu Topology</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hypervisor Cpu Topology</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHypervisorCpuTopology(HypervisorCpuTopology object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hypervisor Cpu Info</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hypervisor Cpu Info</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHypervisorCpuInfo(HypervisorCpuInfo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hypervisor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hypervisor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHypervisor(Hypervisor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedEntity(NamedEntity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronService(NeutronService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComputeService(ComputeService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerService(CeilometerService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Project</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Project</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCeilometerProject(CeilometerProject object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //LocationSwitch
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/AllocationPool.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/AllocationPool.java
new file mode 100644
index 0000000..63b5710
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/AllocationPool.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocation Pool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.AllocationPool#getStart <em>Start</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.AllocationPool#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getAllocationPool()
+ * @model
+ * @generated
+ */
+public interface AllocationPool extends EObject {
+ /**
+ * Returns the value of the '<em><b>Start</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Start</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Start</em>' attribute.
+ * @see #setStart(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getAllocationPool_Start()
+ * @model unique="false"
+ * @generated
+ */
+ String getStart();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.AllocationPool#getStart <em>Start</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Start</em>' attribute.
+ * @see #getStart()
+ * @generated
+ */
+ void setStart(String value);
+
+ /**
+ * Returns the value of the '<em><b>End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>End</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>End</em>' attribute.
+ * @see #setEnd(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getAllocationPool_End()
+ * @model unique="false"
+ * @generated
+ */
+ String getEnd();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.AllocationPool#getEnd <em>End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>End</em>' attribute.
+ * @see #getEnd()
+ * @generated
+ */
+ void setEnd(String value);
+
+} // AllocationPool
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingProfile.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingProfile.java
new file mode 100644
index 0000000..6f64073
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingProfile.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binding Profile</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getBindingProfile()
+ * @model
+ * @generated
+ */
+public interface BindingProfile extends EObject {
+} // BindingProfile
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingVifDetail.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingVifDetail.java
new file mode 100644
index 0000000..a44f6ef
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/BindingVifDetail.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binding Vif Detail</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getOvs_hybrid_plug <em>Ovs hybrid plug</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getPort_filter <em>Port filter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getBindingVifDetail()
+ * @model
+ * @generated
+ */
+public interface BindingVifDetail extends EObject {
+ /**
+ * Returns the value of the '<em><b>Ovs hybrid plug</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ovs hybrid plug</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ovs hybrid plug</em>' attribute.
+ * @see #setOvs_hybrid_plug(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getBindingVifDetail_Ovs_hybrid_plug()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getOvs_hybrid_plug();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getOvs_hybrid_plug <em>Ovs hybrid plug</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ovs hybrid plug</em>' attribute.
+ * @see #getOvs_hybrid_plug()
+ * @generated
+ */
+ void setOvs_hybrid_plug(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Port filter</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port filter</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port filter</em>' attribute.
+ * @see #setPort_filter(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getBindingVifDetail_Port_filter()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getPort_filter();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getPort_filter <em>Port filter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port filter</em>' attribute.
+ * @see #getPort_filter()
+ * @generated
+ */
+ void setPort_filter(Boolean value);
+
+} // BindingVifDetail
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateNetworkRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateNetworkRequest.java
new file mode 100644
index 0000000..88674e9
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateNetworkRequest.java
@@ -0,0 +1,208 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Create Network Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderNetworkType <em>Provider Network Type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderPhysicalNetwork <em>Provider Physical Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderSegmentationId <em>Provider Segmentation Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getShared <em>Shared</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest()
+ * @model
+ * @generated
+ */
+public interface CreateNetworkRequest extends NeutronRequest {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Provider Network Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider Network Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider Network Type</em>' attribute.
+ * @see #setProviderNetworkType(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest_ProviderNetworkType()
+ * @model unique="false"
+ * annotation="http://openecomp.org/sirius/openstack name='provider:network_type'"
+ * @generated
+ */
+ String getProviderNetworkType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderNetworkType <em>Provider Network Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider Network Type</em>' attribute.
+ * @see #getProviderNetworkType()
+ * @generated
+ */
+ void setProviderNetworkType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Provider Physical Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider Physical Network</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider Physical Network</em>' attribute.
+ * @see #setProviderPhysicalNetwork(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest_ProviderPhysicalNetwork()
+ * @model unique="false"
+ * annotation="http://openecomp.org/sirius/openstack name='provider:physical_network'"
+ * @generated
+ */
+ String getProviderPhysicalNetwork();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderPhysicalNetwork <em>Provider Physical Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider Physical Network</em>' attribute.
+ * @see #getProviderPhysicalNetwork()
+ * @generated
+ */
+ void setProviderPhysicalNetwork(String value);
+
+ /**
+ * Returns the value of the '<em><b>Provider Segmentation Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider Segmentation Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider Segmentation Id</em>' attribute.
+ * @see #setProviderSegmentationId(int)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest_ProviderSegmentationId()
+ * @model unique="false"
+ * annotation="http://openecomp.org/sirius/openstack name='provider:segmentation_id'"
+ * @generated
+ */
+ int getProviderSegmentationId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderSegmentationId <em>Provider Segmentation Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider Segmentation Id</em>' attribute.
+ * @see #getProviderSegmentationId()
+ * @generated
+ */
+ void setProviderSegmentationId(int value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Shared</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Shared</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Shared</em>' attribute.
+ * @see #setShared(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateNetworkRequest_Shared()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getShared();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getShared <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Shared</em>' attribute.
+ * @see #getShared()
+ * @generated
+ */
+ void setShared(Boolean value);
+
+} // CreateNetworkRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreatePortRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreatePortRequest.java
new file mode 100644
index 0000000..ed9ed96
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreatePortRequest.java
@@ -0,0 +1,226 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Create Port Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getBindingVnicType <em>Binding Vnic Type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getFixed_ips <em>Fixed ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getMac_address <em>Mac address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getNetwork_id <em>Network id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest()
+ * @model
+ * @generated
+ */
+public interface CreatePortRequest extends NeutronRequest {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Binding Vnic Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding Vnic Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding Vnic Type</em>' attribute.
+ * @see #setBindingVnicType(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_BindingVnicType()
+ * @model unique="false"
+ * annotation="http://openecomp.org/sirius/openstack name='binding:vnic_type'"
+ * @generated
+ */
+ String getBindingVnicType();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getBindingVnicType <em>Binding Vnic Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding Vnic Type</em>' attribute.
+ * @see #getBindingVnicType()
+ * @generated
+ */
+ void setBindingVnicType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Fixed ips</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.FixedIp}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fixed ips</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fixed ips</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_Fixed_ips()
+ * @model containment="true"
+ * annotation="http://openecomp.org/sirius/openstack removeEmptyList='true'"
+ * @generated
+ */
+ EList<FixedIp> getFixed_ips();
+
+ /**
+ * Returns the value of the '<em><b>Mac address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mac address</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mac address</em>' attribute.
+ * @see #setMac_address(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_Mac_address()
+ * @model unique="false"
+ * @generated
+ */
+ String getMac_address();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getMac_address <em>Mac address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mac address</em>' attribute.
+ * @see #getMac_address()
+ * @generated
+ */
+ void setMac_address(String value);
+
+ /**
+ * Returns the value of the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Network id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Network id</em>' attribute.
+ * @see #setNetwork_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreatePortRequest_Network_id()
+ * @model unique="false" required="true"
+ * @generated
+ */
+ String getNetwork_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getNetwork_id <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Network id</em>' attribute.
+ * @see #getNetwork_id()
+ * @generated
+ */
+ void setNetwork_id(String value);
+
+} // CreatePortRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateRouterRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateRouterRequest.java
new file mode 100644
index 0000000..38d3165
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateRouterRequest.java
@@ -0,0 +1,187 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Create Router Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getShared <em>Shared</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getExternalNetwork <em>External Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getSubnets <em>Subnets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest()
+ * @model
+ * @generated
+ */
+public interface CreateRouterRequest extends NeutronRequest {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Shared</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Shared</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Shared</em>' attribute.
+ * @see #setShared(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest_Shared()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getShared();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getShared <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Shared</em>' attribute.
+ * @see #getShared()
+ * @generated
+ */
+ void setShared(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>External Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External Network</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>External Network</em>' attribute.
+ * @see #setExternalNetwork(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest_ExternalNetwork()
+ * @model unique="false"
+ * @generated
+ */
+ String getExternalNetwork();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getExternalNetwork <em>External Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>External Network</em>' attribute.
+ * @see #getExternalNetwork()
+ * @generated
+ */
+ void setExternalNetwork(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ports</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ports</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ports</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest_Ports()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getPorts();
+
+ /**
+ * Returns the value of the '<em><b>Subnets</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subnets</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Subnets</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateRouterRequest_Subnets()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getSubnets();
+
+} // CreateRouterRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateSubnetRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateSubnetRequest.java
new file mode 100644
index 0000000..95a6516
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/CreateSubnetRequest.java
@@ -0,0 +1,240 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Create Subnet Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getNetwork_id <em>Network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getIp_version <em>Ip version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getCidr <em>Cidr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getAllocation_pools <em>Allocation pools</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getDns_nameservers <em>Dns nameservers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getEnable_dhcp <em>Enable dhcp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getGateway_ip <em>Gateway ip</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest()
+ * @model
+ * @generated
+ */
+public interface CreateSubnetRequest extends NeutronRequest {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Network id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Network id</em>' attribute.
+ * @see #setNetwork_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Network_id()
+ * @model unique="false" required="true"
+ * @generated
+ */
+ String getNetwork_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getNetwork_id <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Network id</em>' attribute.
+ * @see #getNetwork_id()
+ * @generated
+ */
+ void setNetwork_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ip version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip version</em>' attribute.
+ * @see #setIp_version(int)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Ip_version()
+ * @model unique="false"
+ * @generated
+ */
+ int getIp_version();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getIp_version <em>Ip version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip version</em>' attribute.
+ * @see #getIp_version()
+ * @generated
+ */
+ void setIp_version(int value);
+
+ /**
+ * Returns the value of the '<em><b>Cidr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cidr</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cidr</em>' attribute.
+ * @see #setCidr(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Cidr()
+ * @model unique="false"
+ * @generated
+ */
+ String getCidr();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getCidr <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cidr</em>' attribute.
+ * @see #getCidr()
+ * @generated
+ */
+ void setCidr(String value);
+
+ /**
+ * Returns the value of the '<em><b>Allocation pools</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.AllocationPool}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocation pools</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allocation pools</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Allocation_pools()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AllocationPool> getAllocation_pools();
+
+ /**
+ * Returns the value of the '<em><b>Dns nameservers</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dns nameservers</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dns nameservers</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Dns_nameservers()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getDns_nameservers();
+
+ /**
+ * Returns the value of the '<em><b>Enable dhcp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enable dhcp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enable dhcp</em>' attribute.
+ * @see #setEnable_dhcp(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Enable_dhcp()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getEnable_dhcp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getEnable_dhcp <em>Enable dhcp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enable dhcp</em>' attribute.
+ * @see #getEnable_dhcp()
+ * @generated
+ */
+ void setEnable_dhcp(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Gateway ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Gateway ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Gateway ip</em>' attribute.
+ * @see #setGateway_ip(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getCreateSubnetRequest_Gateway_ip()
+ * @model unique="false"
+ * @generated
+ */
+ String getGateway_ip();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getGateway_ip <em>Gateway ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Gateway ip</em>' attribute.
+ * @see #getGateway_ip()
+ * @generated
+ */
+ void setGateway_ip(String value);
+
+} // CreateSubnetRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/ExternalGateway.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/ExternalGateway.java
new file mode 100644
index 0000000..2c9293e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/ExternalGateway.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>External Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway#getEnable_snat <em>Enable snat</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway#getNetwork_id <em>Network id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getExternalGateway()
+ * @model
+ * @generated
+ */
+public interface ExternalGateway extends EObject {
+ /**
+ * Returns the value of the '<em><b>Enable snat</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enable snat</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enable snat</em>' attribute.
+ * @see #setEnable_snat(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getExternalGateway_Enable_snat()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getEnable_snat();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway#getEnable_snat <em>Enable snat</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enable snat</em>' attribute.
+ * @see #getEnable_snat()
+ * @generated
+ */
+ void setEnable_snat(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Network id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Network id</em>' attribute.
+ * @see #setNetwork_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getExternalGateway_Network_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getNetwork_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway#getNetwork_id <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Network id</em>' attribute.
+ * @see #getNetwork_id()
+ * @generated
+ */
+ void setNetwork_id(String value);
+
+} // ExternalGateway
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/FixedIp.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/FixedIp.java
new file mode 100644
index 0000000..b671513
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/FixedIp.java
@@ -0,0 +1,98 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fixed Ip</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.FixedIp#getIp_address <em>Ip address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.FixedIp#getSubnet_id <em>Subnet id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getFixedIp()
+ * @model
+ * @generated
+ */
+public interface FixedIp extends EObject {
+ /**
+ * Returns the value of the '<em><b>Ip address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip address</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip address</em>' attribute.
+ * @see #setIp_address(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getFixedIp_Ip_address()
+ * @model unique="false"
+ * @generated
+ */
+ String getIp_address();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.FixedIp#getIp_address <em>Ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip address</em>' attribute.
+ * @see #getIp_address()
+ * @generated
+ */
+ void setIp_address(String value);
+
+ /**
+ * Returns the value of the '<em><b>Subnet id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subnet id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Subnet id</em>' attribute.
+ * @see #setSubnet_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getFixedIp_Subnet_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getSubnet_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.FixedIp#getSubnet_id <em>Subnet id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Subnet id</em>' attribute.
+ * @see #getSubnet_id()
+ * @generated
+ */
+ void setSubnet_id(String value);
+
+} // FixedIp
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Network.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Network.java
new file mode 100644
index 0000000..ccc92b6
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Network.java
@@ -0,0 +1,331 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Network</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_network_type <em>Provider network type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_physical_network <em>Provider physical network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_segmentation_id <em>Provider segmentation id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getRouter_external <em>Router external</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getShared <em>Shared</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getSubnets <em>Subnets</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Network#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork()
+ * @model
+ * @generated
+ */
+public interface Network extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Provider network type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider network type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider network type</em>' attribute.
+ * @see #setProvider_network_type(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Provider_network_type()
+ * @model unique="false"
+ * @generated
+ */
+ String getProvider_network_type();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_network_type <em>Provider network type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider network type</em>' attribute.
+ * @see #getProvider_network_type()
+ * @generated
+ */
+ void setProvider_network_type(String value);
+
+ /**
+ * Returns the value of the '<em><b>Provider physical network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider physical network</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider physical network</em>' attribute.
+ * @see #setProvider_physical_network(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Provider_physical_network()
+ * @model unique="false"
+ * @generated
+ */
+ String getProvider_physical_network();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_physical_network <em>Provider physical network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider physical network</em>' attribute.
+ * @see #getProvider_physical_network()
+ * @generated
+ */
+ void setProvider_physical_network(String value);
+
+ /**
+ * Returns the value of the '<em><b>Provider segmentation id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider segmentation id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider segmentation id</em>' attribute.
+ * @see #setProvider_segmentation_id(Integer)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Provider_segmentation_id()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getProvider_segmentation_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_segmentation_id <em>Provider segmentation id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider segmentation id</em>' attribute.
+ * @see #getProvider_segmentation_id()
+ * @generated
+ */
+ void setProvider_segmentation_id(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Router external</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Router external</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Router external</em>' attribute.
+ * @see #setRouter_external(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Router_external()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getRouter_external();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getRouter_external <em>Router external</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Router external</em>' attribute.
+ * @see #getRouter_external()
+ * @generated
+ */
+ void setRouter_external(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Shared</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Shared</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Shared</em>' attribute.
+ * @see #setShared(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Shared()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getShared();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getShared <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Shared</em>' attribute.
+ * @see #getShared()
+ * @generated
+ */
+ void setShared(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Subnets</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subnets</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Subnets</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Subnets()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getSubnets();
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNetwork_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Network#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+} // Network
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFactory.java
new file mode 100644
index 0000000..0262c5c
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFactory.java
@@ -0,0 +1,198 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage
+ * @generated
+ */
+public interface NeutronFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NeutronFactory eINSTANCE = org.openecomp.ncomp.openstack.neutron.impl.NeutronFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Network</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Network</em>'.
+ * @generated
+ */
+ Network createNetwork();
+
+ /**
+ * Returns a new object of class '<em>Subnet</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Subnet</em>'.
+ * @generated
+ */
+ Subnet createSubnet();
+
+ /**
+ * Returns a new object of class '<em>Allocation Pool</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Allocation Pool</em>'.
+ * @generated
+ */
+ AllocationPool createAllocationPool();
+
+ /**
+ * Returns a new object of class '<em>Router</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Router</em>'.
+ * @generated
+ */
+ Router createRouter();
+
+ /**
+ * Returns a new object of class '<em>Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Port</em>'.
+ * @generated
+ */
+ Port createPort();
+
+ /**
+ * Returns a new object of class '<em>Security Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Group</em>'.
+ * @generated
+ */
+ NeutronSecurityGroup createNeutronSecurityGroup();
+
+ /**
+ * Returns a new object of class '<em>Security Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Rule</em>'.
+ * @generated
+ */
+ NeutronSecurityRule createNeutronSecurityRule();
+
+ /**
+ * Returns a new object of class '<em>Floating Ip</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Floating Ip</em>'.
+ * @generated
+ */
+ NeutronFloatingIp createNeutronFloatingIp();
+
+ /**
+ * Returns a new object of class '<em>Binding Profile</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Binding Profile</em>'.
+ * @generated
+ */
+ BindingProfile createBindingProfile();
+
+ /**
+ * Returns a new object of class '<em>Binding Vif Detail</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Binding Vif Detail</em>'.
+ * @generated
+ */
+ BindingVifDetail createBindingVifDetail();
+
+ /**
+ * Returns a new object of class '<em>Fixed Ip</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Fixed Ip</em>'.
+ * @generated
+ */
+ FixedIp createFixedIp();
+
+ /**
+ * Returns a new object of class '<em>External Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>External Gateway</em>'.
+ * @generated
+ */
+ ExternalGateway createExternalGateway();
+
+ /**
+ * Returns a new object of class '<em>Create Network Request</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Create Network Request</em>'.
+ * @generated
+ */
+ CreateNetworkRequest createCreateNetworkRequest();
+
+ /**
+ * Returns a new object of class '<em>Create Subnet Request</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Create Subnet Request</em>'.
+ * @generated
+ */
+ CreateSubnetRequest createCreateSubnetRequest();
+
+ /**
+ * Returns a new object of class '<em>Create Router Request</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Create Router Request</em>'.
+ * @generated
+ */
+ CreateRouterRequest createCreateRouterRequest();
+
+ /**
+ * Returns a new object of class '<em>Create Port Request</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Create Port Request</em>'.
+ * @generated
+ */
+ CreatePortRequest createCreatePortRequest();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ NeutronPackage getNeutronPackage();
+
+} //NeutronFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFloatingIp.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFloatingIp.java
new file mode 100644
index 0000000..4ae2622
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronFloatingIp.java
@@ -0,0 +1,286 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Floating Ip</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_network_id <em>Floating network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getRouter_id <em>Router id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFixed_ip_address <em>Fixed ip address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_ip_address <em>Floating ip address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getPort_id <em>Port id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp()
+ * @model
+ * @generated
+ */
+public interface NeutronFloatingIp extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Floating network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Floating network id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Floating network id</em>' attribute.
+ * @see #setFloating_network_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Floating_network_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getFloating_network_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_network_id <em>Floating network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Floating network id</em>' attribute.
+ * @see #getFloating_network_id()
+ * @generated
+ */
+ void setFloating_network_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Router id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Router id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Router id</em>' attribute.
+ * @see #setRouter_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Router_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getRouter_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getRouter_id <em>Router id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Router id</em>' attribute.
+ * @see #getRouter_id()
+ * @generated
+ */
+ void setRouter_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fixed ip address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fixed ip address</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fixed ip address</em>' attribute.
+ * @see #setFixed_ip_address(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Fixed_ip_address()
+ * @model unique="false"
+ * @generated
+ */
+ String getFixed_ip_address();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFixed_ip_address <em>Fixed ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fixed ip address</em>' attribute.
+ * @see #getFixed_ip_address()
+ * @generated
+ */
+ void setFixed_ip_address(String value);
+
+ /**
+ * Returns the value of the '<em><b>Floating ip address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Floating ip address</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Floating ip address</em>' attribute.
+ * @see #setFloating_ip_address(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Floating_ip_address()
+ * @model unique="false"
+ * @generated
+ */
+ String getFloating_ip_address();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_ip_address <em>Floating ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Floating ip address</em>' attribute.
+ * @see #getFloating_ip_address()
+ * @generated
+ */
+ void setFloating_ip_address(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Port id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port id</em>' attribute.
+ * @see #setPort_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronFloatingIp_Port_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getPort_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getPort_id <em>Port id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port id</em>' attribute.
+ * @see #getPort_id()
+ * @generated
+ */
+ void setPort_id(String value);
+
+} // NeutronFloatingIp
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronObject.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronObject.java
new file mode 100644
index 0000000..0018968
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronObject.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronObject()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NeutronObject extends EObject {
+} // NeutronObject
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronPackage.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronPackage.java
new file mode 100644
index 0000000..33eb6b0
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronPackage.java
@@ -0,0 +1,4335 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/ncomp-openstack-model/src/main/xcore-gen' basePackage='org.openecomp.ncomp.openstack'"
+ * annotation="http://www.eclipse.org/emf/2011/Xcore openstack='http://openecomp.org/sirius/openstack'"
+ * @generated
+ */
+public interface NeutronPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "neutron";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.ncomp.openstack.neutron";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "neutron";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NeutronPackage eINSTANCE = org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronServiceImpl <em>Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronServiceImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronService()
+ * @generated
+ */
+ int NEUTRON_SERVICE = 0;
+
+ /**
+ * The number of structural features of the '<em>Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE_FEATURE_COUNT = 0;
+
+ /**
+ * The operation id for the '<em>Create Network</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___CREATE_NETWORK__CREATENETWORKREQUEST = 0;
+
+ /**
+ * The operation id for the '<em>Create Subnet</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___CREATE_SUBNET__CREATESUBNETREQUEST = 1;
+
+ /**
+ * The operation id for the '<em>Create Port</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___CREATE_PORT__CREATEPORTREQUEST = 2;
+
+ /**
+ * The operation id for the '<em>Create Router</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___CREATE_ROUTER__CREATEROUTERREQUEST = 3;
+
+ /**
+ * The operation id for the '<em>Delete Network</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___DELETE_NETWORK__STRING_STRING = 4;
+
+ /**
+ * The operation id for the '<em>Delete Subnet</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___DELETE_SUBNET__STRING_STRING = 5;
+
+ /**
+ * The operation id for the '<em>Delete Port</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___DELETE_PORT__STRING_STRING = 6;
+
+ /**
+ * The operation id for the '<em>Delete Router</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___DELETE_ROUTER__STRING_STRING = 7;
+
+ /**
+ * The operation id for the '<em>Associate Floating Ip</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING = 8;
+
+ /**
+ * The number of operations of the '<em>Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SERVICE_OPERATION_COUNT = 9;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronObjectImpl <em>Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronObjectImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronObject()
+ * @generated
+ */
+ int NEUTRON_OBJECT = 1;
+
+ /**
+ * The number of structural features of the '<em>Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_OBJECT_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_OBJECT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl <em>Network</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNetwork()
+ * @generated
+ */
+ int NETWORK = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__NAME = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__ADMIN_STATE_UP = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Provider network type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__PROVIDER_NETWORK_TYPE = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Provider physical network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__PROVIDER_PHYSICAL_NETWORK = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Provider segmentation id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__PROVIDER_SEGMENTATION_ID = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Router external</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__ROUTER_EXTERNAL = NEUTRON_OBJECT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Shared</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__SHARED = NEUTRON_OBJECT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__STATUS = NEUTRON_OBJECT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Subnets</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__SUBNETS = NEUTRON_OBJECT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Network</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 11;
+
+ /**
+ * The number of operations of the '<em>Network</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NETWORK_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl <em>Subnet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getSubnet()
+ * @generated
+ */
+ int SUBNET = 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__NAME = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__STATUS = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__ADMIN_STATE_UP = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Cidr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__CIDR = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Allocation pools</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__ALLOCATION_POOLS = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Dns nameservers</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__DNS_NAMESERVERS = NEUTRON_OBJECT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Enable dhcp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__ENABLE_DHCP = NEUTRON_OBJECT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Gateway ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__GATEWAY_IP = NEUTRON_OBJECT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Host routes</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__HOST_ROUTES = NEUTRON_OBJECT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Ip version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__IP_VERSION = NEUTRON_OBJECT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__NETWORK_ID = NEUTRON_OBJECT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the '<em>Subnet</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 13;
+
+ /**
+ * The number of operations of the '<em>Subnet</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBNET_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.AllocationPoolImpl <em>Allocation Pool</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.AllocationPoolImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getAllocationPool()
+ * @generated
+ */
+ int ALLOCATION_POOL = 4;
+
+ /**
+ * The feature id for the '<em><b>Start</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_POOL__START = 0;
+
+ /**
+ * The feature id for the '<em><b>End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_POOL__END = 1;
+
+ /**
+ * The number of structural features of the '<em>Allocation Pool</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_POOL_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Allocation Pool</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_POOL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl <em>Router</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.RouterImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getRouter()
+ * @generated
+ */
+ int ROUTER = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER__NAME = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER__STATUS = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER__ADMIN_STATE_UP = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>External gateway info</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER__EXTERNAL_GATEWAY_INFO = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Router</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Router</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUTER_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl <em>Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.PortImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getPort()
+ * @generated
+ */
+ int PORT = 6;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__NAME = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__STATUS = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__ADMIN_STATE_UP = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>External gateway info</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__EXTERNAL_GATEWAY_INFO = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Allowed address pairs</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__ALLOWED_ADDRESS_PAIRS = NEUTRON_OBJECT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Binding host id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__BINDING_HOST_ID = NEUTRON_OBJECT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Binding profile</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__BINDING_PROFILE = NEUTRON_OBJECT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Binding vif details</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__BINDING_VIF_DETAILS = NEUTRON_OBJECT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Binding vif type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__BINDING_VIF_TYPE = NEUTRON_OBJECT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Binding vnic type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__BINDING_VNIC_TYPE = NEUTRON_OBJECT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Device id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__DEVICE_ID = NEUTRON_OBJECT_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Device owner</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__DEVICE_OWNER = NEUTRON_OBJECT_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Extra dhcp opts</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__EXTRA_DHCP_OPTS = NEUTRON_OBJECT_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Fixed ips</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__FIXED_IPS = NEUTRON_OBJECT_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Mac address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__MAC_ADDRESS = NEUTRON_OBJECT_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__NETWORK_ID = NEUTRON_OBJECT_FEATURE_COUNT + 17;
+
+ /**
+ * The feature id for the '<em><b>Security groups</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT__SECURITY_GROUPS = NEUTRON_OBJECT_FEATURE_COUNT + 18;
+
+ /**
+ * The number of structural features of the '<em>Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 19;
+
+ /**
+ * The number of operations of the '<em>Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl <em>Security Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronSecurityGroup()
+ * @generated
+ */
+ int NEUTRON_SECURITY_GROUP = 7;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP__NAME = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP__DESCRIPTION = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Security group rules</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Security Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Security Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_GROUP_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl <em>Security Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronSecurityRule()
+ * @generated
+ */
+ int NEUTRON_SECURITY_RULE = 8;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__DIRECTION = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Ethertype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__ETHERTYPE = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port range min</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__PORT_RANGE_MIN = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Port range max</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__PORT_RANGE_MAX = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__PROTOCOL = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Remote group id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID = NEUTRON_OBJECT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Remote ip prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX = NEUTRON_OBJECT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Security group id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID = NEUTRON_OBJECT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Security Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Security Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_SECURITY_RULE_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl <em>Floating Ip</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronFloatingIp()
+ * @generated
+ */
+ int NEUTRON_FLOATING_IP = 9;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__ID = NEUTRON_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__NAME = NEUTRON_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__STATUS = NEUTRON_OBJECT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Floating network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID = NEUTRON_OBJECT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Router id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__ROUTER_ID = NEUTRON_OBJECT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Fixed ip address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS = NEUTRON_OBJECT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Floating ip address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS = NEUTRON_OBJECT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__TENANT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Port id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP__PORT_ID = NEUTRON_OBJECT_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Floating Ip</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP_FEATURE_COUNT = NEUTRON_OBJECT_FEATURE_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Floating Ip</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_FLOATING_IP_OPERATION_COUNT = NEUTRON_OBJECT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.BindingProfileImpl <em>Binding Profile</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.BindingProfileImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getBindingProfile()
+ * @generated
+ */
+ int BINDING_PROFILE = 10;
+
+ /**
+ * The number of structural features of the '<em>Binding Profile</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_PROFILE_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Binding Profile</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_PROFILE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.BindingVifDetailImpl <em>Binding Vif Detail</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.BindingVifDetailImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getBindingVifDetail()
+ * @generated
+ */
+ int BINDING_VIF_DETAIL = 11;
+
+ /**
+ * The feature id for the '<em><b>Ovs hybrid plug</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_VIF_DETAIL__OVS_HYBRID_PLUG = 0;
+
+ /**
+ * The feature id for the '<em><b>Port filter</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_VIF_DETAIL__PORT_FILTER = 1;
+
+ /**
+ * The number of structural features of the '<em>Binding Vif Detail</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_VIF_DETAIL_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Binding Vif Detail</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_VIF_DETAIL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.FixedIpImpl <em>Fixed Ip</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.FixedIpImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getFixedIp()
+ * @generated
+ */
+ int FIXED_IP = 12;
+
+ /**
+ * The feature id for the '<em><b>Ip address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIXED_IP__IP_ADDRESS = 0;
+
+ /**
+ * The feature id for the '<em><b>Subnet id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIXED_IP__SUBNET_ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Fixed Ip</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIXED_IP_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Fixed Ip</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIXED_IP_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.ExternalGatewayImpl <em>External Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.ExternalGatewayImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getExternalGateway()
+ * @generated
+ */
+ int EXTERNAL_GATEWAY = 13;
+
+ /**
+ * The feature id for the '<em><b>Enable snat</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_GATEWAY__ENABLE_SNAT = 0;
+
+ /**
+ * The feature id for the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_GATEWAY__NETWORK_ID = 1;
+
+ /**
+ * The number of structural features of the '<em>External Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_GATEWAY_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>External Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_GATEWAY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronRequestImpl <em>Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronRequest()
+ * @generated
+ */
+ int NEUTRON_REQUEST = 14;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_REQUEST__PROJECT_NAME = CorePackage.OPEN_STACK_REQUEST__PROJECT_NAME;
+
+ /**
+ * The number of structural features of the '<em>Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_REQUEST_FEATURE_COUNT = CorePackage.OPEN_STACK_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEUTRON_REQUEST_OPERATION_COUNT = CorePackage.OPEN_STACK_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl <em>Create Network Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreateNetworkRequest()
+ * @generated
+ */
+ int CREATE_NETWORK_REQUEST = 15;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__PROJECT_NAME = NEUTRON_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__NAME = NEUTRON_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Provider Network Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE = NEUTRON_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Provider Physical Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK = NEUTRON_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Provider Segmentation Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID = NEUTRON_REQUEST_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__ADMIN_STATE_UP = NEUTRON_REQUEST_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Shared</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST__SHARED = NEUTRON_REQUEST_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Create Network Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST_FEATURE_COUNT = NEUTRON_REQUEST_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Create Network Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_NETWORK_REQUEST_OPERATION_COUNT = NEUTRON_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl <em>Create Subnet Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreateSubnetRequest()
+ * @generated
+ */
+ int CREATE_SUBNET_REQUEST = 16;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__PROJECT_NAME = NEUTRON_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__NAME = NEUTRON_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__NETWORK_ID = NEUTRON_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Ip version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__IP_VERSION = NEUTRON_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Cidr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__CIDR = NEUTRON_REQUEST_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Allocation pools</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__ALLOCATION_POOLS = NEUTRON_REQUEST_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Dns nameservers</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__DNS_NAMESERVERS = NEUTRON_REQUEST_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Enable dhcp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__ENABLE_DHCP = NEUTRON_REQUEST_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Gateway ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST__GATEWAY_IP = NEUTRON_REQUEST_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Create Subnet Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST_FEATURE_COUNT = NEUTRON_REQUEST_FEATURE_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Create Subnet Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_SUBNET_REQUEST_OPERATION_COUNT = NEUTRON_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl <em>Create Router Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreateRouterRequest()
+ * @generated
+ */
+ int CREATE_ROUTER_REQUEST = 17;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__PROJECT_NAME = NEUTRON_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__NAME = NEUTRON_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__ADMIN_STATE_UP = NEUTRON_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Shared</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__SHARED = NEUTRON_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>External Network</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK = NEUTRON_REQUEST_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__PORTS = NEUTRON_REQUEST_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Subnets</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST__SUBNETS = NEUTRON_REQUEST_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Create Router Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST_FEATURE_COUNT = NEUTRON_REQUEST_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Create Router Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_ROUTER_REQUEST_OPERATION_COUNT = NEUTRON_REQUEST_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl <em>Create Port Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreatePortRequest()
+ * @generated
+ */
+ int CREATE_PORT_REQUEST = 18;
+
+ /**
+ * The feature id for the '<em><b>Project Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__PROJECT_NAME = NEUTRON_REQUEST__PROJECT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__NAME = NEUTRON_REQUEST_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Binding Vnic Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__BINDING_VNIC_TYPE = NEUTRON_REQUEST_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__STATUS = NEUTRON_REQUEST_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__ADMIN_STATE_UP = NEUTRON_REQUEST_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Fixed ips</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__FIXED_IPS = NEUTRON_REQUEST_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Mac address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__MAC_ADDRESS = NEUTRON_REQUEST_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST__NETWORK_ID = NEUTRON_REQUEST_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Create Port Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST_FEATURE_COUNT = NEUTRON_REQUEST_FEATURE_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Create Port Request</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATE_PORT_REQUEST_OPERATION_COUNT = NEUTRON_REQUEST_OPERATION_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.NeutronService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Service</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService
+ * @generated
+ */
+ EClass getNeutronService();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest) <em>Create Network</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Network</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#createNetwork(org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest)
+ * @generated
+ */
+ EOperation getNeutronService__CreateNetwork__CreateNetworkRequest();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#createSubnet(org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest) <em>Create Subnet</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Subnet</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#createSubnet(org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest)
+ * @generated
+ */
+ EOperation getNeutronService__CreateSubnet__CreateSubnetRequest();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#createPort(org.openecomp.ncomp.openstack.neutron.CreatePortRequest) <em>Create Port</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Port</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#createPort(org.openecomp.ncomp.openstack.neutron.CreatePortRequest)
+ * @generated
+ */
+ EOperation getNeutronService__CreatePort__CreatePortRequest();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#createRouter(org.openecomp.ncomp.openstack.neutron.CreateRouterRequest) <em>Create Router</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Create Router</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#createRouter(org.openecomp.ncomp.openstack.neutron.CreateRouterRequest)
+ * @generated
+ */
+ EOperation getNeutronService__CreateRouter__CreateRouterRequest();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#deleteNetwork(java.lang.String, java.lang.String) <em>Delete Network</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete Network</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#deleteNetwork(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getNeutronService__DeleteNetwork__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#deleteSubnet(java.lang.String, java.lang.String) <em>Delete Subnet</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete Subnet</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#deleteSubnet(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getNeutronService__DeleteSubnet__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#deletePort(java.lang.String, java.lang.String) <em>Delete Port</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete Port</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#deletePort(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getNeutronService__DeletePort__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#deleteRouter(java.lang.String, java.lang.String) <em>Delete Router</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Delete Router</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#deleteRouter(java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getNeutronService__DeleteRouter__String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.openecomp.ncomp.openstack.neutron.NeutronService#associateFloatingIp(java.lang.String, java.lang.String, java.lang.String) <em>Associate Floating Ip</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Associate Floating Ip</em>' operation.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService#associateFloatingIp(java.lang.String, java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getNeutronService__AssociateFloatingIp__String_String_String();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.NeutronObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Object</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronObject
+ * @generated
+ */
+ EClass getNeutronObject();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.Network <em>Network</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Network</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network
+ * @generated
+ */
+ EClass getNetwork();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getId()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getName()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getAdmin_state_up()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Admin_state_up();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_network_type <em>Provider network type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider network type</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getProvider_network_type()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Provider_network_type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_physical_network <em>Provider physical network</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider physical network</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getProvider_physical_network()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Provider_physical_network();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getProvider_segmentation_id <em>Provider segmentation id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider segmentation id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getProvider_segmentation_id()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Provider_segmentation_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getRouter_external <em>Router external</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Router external</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getRouter_external()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Router_external();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getShared <em>Shared</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Shared</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getShared()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Shared();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getStatus()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Status();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.Network#getSubnets <em>Subnets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Subnets</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getSubnets()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Subnets();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Network#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Network#getTenant_id()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Tenant_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.Subnet <em>Subnet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Subnet</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet
+ * @generated
+ */
+ EClass getSubnet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getId()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getName()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getStatus()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getAdmin_state_up()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Admin_state_up();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getCidr <em>Cidr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cidr</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getCidr()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Cidr();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getAllocation_pools <em>Allocation pools</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Allocation pools</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getAllocation_pools()
+ * @see #getSubnet()
+ * @generated
+ */
+ EReference getSubnet_Allocation_pools();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getDns_nameservers <em>Dns nameservers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Dns nameservers</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getDns_nameservers()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Dns_nameservers();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getEnable_dhcp <em>Enable dhcp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enable dhcp</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getEnable_dhcp()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Enable_dhcp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getGateway_ip <em>Gateway ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Gateway ip</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getGateway_ip()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Gateway_ip();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getHost_routes <em>Host routes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Host routes</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getHost_routes()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Host_routes();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getIp_version <em>Ip version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ip version</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getIp_version()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Ip_version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getNetwork_id <em>Network id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Network id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getNetwork_id()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Network_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet#getTenant_id()
+ * @see #getSubnet()
+ * @generated
+ */
+ EAttribute getSubnet_Tenant_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.AllocationPool <em>Allocation Pool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Allocation Pool</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.AllocationPool
+ * @generated
+ */
+ EClass getAllocationPool();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.AllocationPool#getStart <em>Start</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Start</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.AllocationPool#getStart()
+ * @see #getAllocationPool()
+ * @generated
+ */
+ EAttribute getAllocationPool_Start();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.AllocationPool#getEnd <em>End</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>End</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.AllocationPool#getEnd()
+ * @see #getAllocationPool()
+ * @generated
+ */
+ EAttribute getAllocationPool_End();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.Router <em>Router</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Router</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router
+ * @generated
+ */
+ EClass getRouter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Router#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router#getId()
+ * @see #getRouter()
+ * @generated
+ */
+ EAttribute getRouter_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Router#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router#getName()
+ * @see #getRouter()
+ * @generated
+ */
+ EAttribute getRouter_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Router#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router#getStatus()
+ * @see #getRouter()
+ * @generated
+ */
+ EAttribute getRouter_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Router#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router#getAdmin_state_up()
+ * @see #getRouter()
+ * @generated
+ */
+ EAttribute getRouter_Admin_state_up();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.neutron.Router#getExternal_gateway_info <em>External gateway info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>External gateway info</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router#getExternal_gateway_info()
+ * @see #getRouter()
+ * @generated
+ */
+ EReference getRouter_External_gateway_info();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Router#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Router#getTenant_id()
+ * @see #getRouter()
+ * @generated
+ */
+ EAttribute getRouter_Tenant_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.Port <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Port</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port
+ * @generated
+ */
+ EClass getPort();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getId()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getName()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getStatus()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getAdmin_state_up()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Admin_state_up();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.neutron.Port#getExternal_gateway_info <em>External gateway info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>External gateway info</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getExternal_gateway_info()
+ * @see #getPort()
+ * @generated
+ */
+ EReference getPort_External_gateway_info();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getTenant_id()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Tenant_id();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.Port#getAllowed_address_pairs <em>Allowed address pairs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Allowed address pairs</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getAllowed_address_pairs()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Allowed_address_pairs();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_host_id <em>Binding host id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Binding host id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getBinding_host_id()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Binding_host_id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_profile <em>Binding profile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Binding profile</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getBinding_profile()
+ * @see #getPort()
+ * @generated
+ */
+ EReference getPort_Binding_profile();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_details <em>Binding vif details</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Binding vif details</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_details()
+ * @see #getPort()
+ * @generated
+ */
+ EReference getPort_Binding_vif_details();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_type <em>Binding vif type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Binding vif type</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_type()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Binding_vif_type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vnic_type <em>Binding vnic type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Binding vnic type</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getBinding_vnic_type()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Binding_vnic_type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getDevice_id <em>Device id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Device id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getDevice_id()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Device_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getDevice_owner <em>Device owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Device owner</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getDevice_owner()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Device_owner();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.Port#getExtra_dhcp_opts <em>Extra dhcp opts</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Extra dhcp opts</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getExtra_dhcp_opts()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Extra_dhcp_opts();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.neutron.Port#getFixed_ips <em>Fixed ips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Fixed ips</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getFixed_ips()
+ * @see #getPort()
+ * @generated
+ */
+ EReference getPort_Fixed_ips();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getMac_address <em>Mac address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mac address</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getMac_address()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Mac_address();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.Port#getNetwork_id <em>Network id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Network id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getNetwork_id()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Network_id();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.Port#getSecurity_groups <em>Security groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Security groups</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.Port#getSecurity_groups()
+ * @see #getPort()
+ * @generated
+ */
+ EAttribute getPort_Security_groups();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup <em>Security Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Group</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup
+ * @generated
+ */
+ EClass getNeutronSecurityGroup();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getId()
+ * @see #getNeutronSecurityGroup()
+ * @generated
+ */
+ EAttribute getNeutronSecurityGroup_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getName()
+ * @see #getNeutronSecurityGroup()
+ * @generated
+ */
+ EAttribute getNeutronSecurityGroup_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getDescription()
+ * @see #getNeutronSecurityGroup()
+ * @generated
+ */
+ EAttribute getNeutronSecurityGroup_Description();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getSecurity_group_rules <em>Security group rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Security group rules</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getSecurity_group_rules()
+ * @see #getNeutronSecurityGroup()
+ * @generated
+ */
+ EReference getNeutronSecurityGroup_Security_group_rules();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getTenant_id()
+ * @see #getNeutronSecurityGroup()
+ * @generated
+ */
+ EAttribute getNeutronSecurityGroup_Tenant_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule <em>Security Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Rule</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule
+ * @generated
+ */
+ EClass getNeutronSecurityRule();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getId()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getDirection <em>Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Direction</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getDirection()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Direction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getEthertype <em>Ethertype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ethertype</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getEthertype()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Ethertype();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_min <em>Port range min</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port range min</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_min()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Port_range_min();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_max <em>Port range max</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port range max</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_max()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Port_range_max();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getProtocol <em>Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Protocol</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getProtocol()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Protocol();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_group_id <em>Remote group id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Remote group id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_group_id()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Remote_group_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_ip_prefix <em>Remote ip prefix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Remote ip prefix</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_ip_prefix()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Remote_ip_prefix();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getSecurity_group_id <em>Security group id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Security group id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getSecurity_group_id()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Security_group_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getTenant_id()
+ * @see #getNeutronSecurityRule()
+ * @generated
+ */
+ EAttribute getNeutronSecurityRule_Tenant_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp <em>Floating Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Floating Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp
+ * @generated
+ */
+ EClass getNeutronFloatingIp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getId()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getName()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getStatus()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_network_id <em>Floating network id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Floating network id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_network_id()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Floating_network_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getRouter_id <em>Router id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Router id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getRouter_id()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Router_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFixed_ip_address <em>Fixed ip address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fixed ip address</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFixed_ip_address()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Fixed_ip_address();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_ip_address <em>Floating ip address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Floating ip address</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getFloating_ip_address()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Floating_ip_address();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getTenant_id <em>Tenant id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tenant id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getTenant_id()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Tenant_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getPort_id <em>Port id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp#getPort_id()
+ * @see #getNeutronFloatingIp()
+ * @generated
+ */
+ EAttribute getNeutronFloatingIp_Port_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.BindingProfile <em>Binding Profile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Binding Profile</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.BindingProfile
+ * @generated
+ */
+ EClass getBindingProfile();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail <em>Binding Vif Detail</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Binding Vif Detail</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.BindingVifDetail
+ * @generated
+ */
+ EClass getBindingVifDetail();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getOvs_hybrid_plug <em>Ovs hybrid plug</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ovs hybrid plug</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getOvs_hybrid_plug()
+ * @see #getBindingVifDetail()
+ * @generated
+ */
+ EAttribute getBindingVifDetail_Ovs_hybrid_plug();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getPort_filter <em>Port filter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port filter</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.BindingVifDetail#getPort_filter()
+ * @see #getBindingVifDetail()
+ * @generated
+ */
+ EAttribute getBindingVifDetail_Port_filter();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.FixedIp <em>Fixed Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fixed Ip</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.FixedIp
+ * @generated
+ */
+ EClass getFixedIp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.FixedIp#getIp_address <em>Ip address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ip address</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.FixedIp#getIp_address()
+ * @see #getFixedIp()
+ * @generated
+ */
+ EAttribute getFixedIp_Ip_address();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.FixedIp#getSubnet_id <em>Subnet id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Subnet id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.FixedIp#getSubnet_id()
+ * @see #getFixedIp()
+ * @generated
+ */
+ EAttribute getFixedIp_Subnet_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway <em>External Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>External Gateway</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.ExternalGateway
+ * @generated
+ */
+ EClass getExternalGateway();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway#getEnable_snat <em>Enable snat</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enable snat</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.ExternalGateway#getEnable_snat()
+ * @see #getExternalGateway()
+ * @generated
+ */
+ EAttribute getExternalGateway_Enable_snat();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway#getNetwork_id <em>Network id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Network id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.ExternalGateway#getNetwork_id()
+ * @see #getExternalGateway()
+ * @generated
+ */
+ EAttribute getExternalGateway_Network_id();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.NeutronRequest <em>Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Request</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronRequest
+ * @generated
+ */
+ EClass getNeutronRequest();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest <em>Create Network Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Create Network Request</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest
+ * @generated
+ */
+ EClass getCreateNetworkRequest();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getName()
+ * @see #getCreateNetworkRequest()
+ * @generated
+ */
+ EAttribute getCreateNetworkRequest_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderNetworkType <em>Provider Network Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider Network Type</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderNetworkType()
+ * @see #getCreateNetworkRequest()
+ * @generated
+ */
+ EAttribute getCreateNetworkRequest_ProviderNetworkType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderPhysicalNetwork <em>Provider Physical Network</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider Physical Network</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderPhysicalNetwork()
+ * @see #getCreateNetworkRequest()
+ * @generated
+ */
+ EAttribute getCreateNetworkRequest_ProviderPhysicalNetwork();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderSegmentationId <em>Provider Segmentation Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider Segmentation Id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getProviderSegmentationId()
+ * @see #getCreateNetworkRequest()
+ * @generated
+ */
+ EAttribute getCreateNetworkRequest_ProviderSegmentationId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getAdmin_state_up()
+ * @see #getCreateNetworkRequest()
+ * @generated
+ */
+ EAttribute getCreateNetworkRequest_Admin_state_up();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getShared <em>Shared</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Shared</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest#getShared()
+ * @see #getCreateNetworkRequest()
+ * @generated
+ */
+ EAttribute getCreateNetworkRequest_Shared();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest <em>Create Subnet Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Create Subnet Request</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest
+ * @generated
+ */
+ EClass getCreateSubnetRequest();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getName()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getNetwork_id <em>Network id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Network id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getNetwork_id()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Network_id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getIp_version <em>Ip version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ip version</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getIp_version()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Ip_version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getCidr <em>Cidr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cidr</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getCidr()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Cidr();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getAllocation_pools <em>Allocation pools</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Allocation pools</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getAllocation_pools()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EReference getCreateSubnetRequest_Allocation_pools();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getDns_nameservers <em>Dns nameservers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Dns nameservers</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getDns_nameservers()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Dns_nameservers();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getEnable_dhcp <em>Enable dhcp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enable dhcp</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getEnable_dhcp()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Enable_dhcp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getGateway_ip <em>Gateway ip</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Gateway ip</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest#getGateway_ip()
+ * @see #getCreateSubnetRequest()
+ * @generated
+ */
+ EAttribute getCreateSubnetRequest_Gateway_ip();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest <em>Create Router Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Create Router Request</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest
+ * @generated
+ */
+ EClass getCreateRouterRequest();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getName()
+ * @see #getCreateRouterRequest()
+ * @generated
+ */
+ EAttribute getCreateRouterRequest_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getAdmin_state_up()
+ * @see #getCreateRouterRequest()
+ * @generated
+ */
+ EAttribute getCreateRouterRequest_Admin_state_up();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getShared <em>Shared</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Shared</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getShared()
+ * @see #getCreateRouterRequest()
+ * @generated
+ */
+ EAttribute getCreateRouterRequest_Shared();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getExternalNetwork <em>External Network</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>External Network</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getExternalNetwork()
+ * @see #getCreateRouterRequest()
+ * @generated
+ */
+ EAttribute getCreateRouterRequest_ExternalNetwork();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getPorts <em>Ports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Ports</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getPorts()
+ * @see #getCreateRouterRequest()
+ * @generated
+ */
+ EAttribute getCreateRouterRequest_Ports();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getSubnets <em>Subnets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Subnets</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest#getSubnets()
+ * @see #getCreateRouterRequest()
+ * @generated
+ */
+ EAttribute getCreateRouterRequest_Subnets();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest <em>Create Port Request</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Create Port Request</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest
+ * @generated
+ */
+ EClass getCreatePortRequest();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getName()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EAttribute getCreatePortRequest_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getBindingVnicType <em>Binding Vnic Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Binding Vnic Type</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getBindingVnicType()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EAttribute getCreatePortRequest_BindingVnicType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getStatus()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EAttribute getCreatePortRequest_Status();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getAdmin_state_up <em>Admin state up</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Admin state up</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getAdmin_state_up()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EAttribute getCreatePortRequest_Admin_state_up();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getFixed_ips <em>Fixed ips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Fixed ips</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getFixed_ips()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EReference getCreatePortRequest_Fixed_ips();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getMac_address <em>Mac address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mac address</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getMac_address()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EAttribute getCreatePortRequest_Mac_address();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getNetwork_id <em>Network id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Network id</em>'.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest#getNetwork_id()
+ * @see #getCreatePortRequest()
+ * @generated
+ */
+ EAttribute getCreatePortRequest_Network_id();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ NeutronFactory getNeutronFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronServiceImpl <em>Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronServiceImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronService()
+ * @generated
+ */
+ EClass NEUTRON_SERVICE = eINSTANCE.getNeutronService();
+
+ /**
+ * The meta object literal for the '<em><b>Create Network</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___CREATE_NETWORK__CREATENETWORKREQUEST = eINSTANCE.getNeutronService__CreateNetwork__CreateNetworkRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Create Subnet</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___CREATE_SUBNET__CREATESUBNETREQUEST = eINSTANCE.getNeutronService__CreateSubnet__CreateSubnetRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Create Port</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___CREATE_PORT__CREATEPORTREQUEST = eINSTANCE.getNeutronService__CreatePort__CreatePortRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Create Router</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___CREATE_ROUTER__CREATEROUTERREQUEST = eINSTANCE.getNeutronService__CreateRouter__CreateRouterRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Network</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___DELETE_NETWORK__STRING_STRING = eINSTANCE.getNeutronService__DeleteNetwork__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Subnet</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___DELETE_SUBNET__STRING_STRING = eINSTANCE.getNeutronService__DeleteSubnet__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Port</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___DELETE_PORT__STRING_STRING = eINSTANCE.getNeutronService__DeletePort__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Router</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___DELETE_ROUTER__STRING_STRING = eINSTANCE.getNeutronService__DeleteRouter__String_String();
+
+ /**
+ * The meta object literal for the '<em><b>Associate Floating Ip</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation NEUTRON_SERVICE___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING = eINSTANCE.getNeutronService__AssociateFloatingIp__String_String_String();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronObjectImpl <em>Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronObjectImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronObject()
+ * @generated
+ */
+ EClass NEUTRON_OBJECT = eINSTANCE.getNeutronObject();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl <em>Network</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNetwork()
+ * @generated
+ */
+ EClass NETWORK = eINSTANCE.getNetwork();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__ID = eINSTANCE.getNetwork_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__NAME = eINSTANCE.getNetwork_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__ADMIN_STATE_UP = eINSTANCE.getNetwork_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>Provider network type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__PROVIDER_NETWORK_TYPE = eINSTANCE.getNetwork_Provider_network_type();
+
+ /**
+ * The meta object literal for the '<em><b>Provider physical network</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__PROVIDER_PHYSICAL_NETWORK = eINSTANCE.getNetwork_Provider_physical_network();
+
+ /**
+ * The meta object literal for the '<em><b>Provider segmentation id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__PROVIDER_SEGMENTATION_ID = eINSTANCE.getNetwork_Provider_segmentation_id();
+
+ /**
+ * The meta object literal for the '<em><b>Router external</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__ROUTER_EXTERNAL = eINSTANCE.getNetwork_Router_external();
+
+ /**
+ * The meta object literal for the '<em><b>Shared</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__SHARED = eINSTANCE.getNetwork_Shared();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__STATUS = eINSTANCE.getNetwork_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Subnets</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__SUBNETS = eINSTANCE.getNetwork_Subnets();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NETWORK__TENANT_ID = eINSTANCE.getNetwork_Tenant_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl <em>Subnet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getSubnet()
+ * @generated
+ */
+ EClass SUBNET = eINSTANCE.getSubnet();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__ID = eINSTANCE.getSubnet_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__NAME = eINSTANCE.getSubnet_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__STATUS = eINSTANCE.getSubnet_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__ADMIN_STATE_UP = eINSTANCE.getSubnet_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>Cidr</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__CIDR = eINSTANCE.getSubnet_Cidr();
+
+ /**
+ * The meta object literal for the '<em><b>Allocation pools</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUBNET__ALLOCATION_POOLS = eINSTANCE.getSubnet_Allocation_pools();
+
+ /**
+ * The meta object literal for the '<em><b>Dns nameservers</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__DNS_NAMESERVERS = eINSTANCE.getSubnet_Dns_nameservers();
+
+ /**
+ * The meta object literal for the '<em><b>Enable dhcp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__ENABLE_DHCP = eINSTANCE.getSubnet_Enable_dhcp();
+
+ /**
+ * The meta object literal for the '<em><b>Gateway ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__GATEWAY_IP = eINSTANCE.getSubnet_Gateway_ip();
+
+ /**
+ * The meta object literal for the '<em><b>Host routes</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__HOST_ROUTES = eINSTANCE.getSubnet_Host_routes();
+
+ /**
+ * The meta object literal for the '<em><b>Ip version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__IP_VERSION = eINSTANCE.getSubnet_Ip_version();
+
+ /**
+ * The meta object literal for the '<em><b>Network id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__NETWORK_ID = eINSTANCE.getSubnet_Network_id();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBNET__TENANT_ID = eINSTANCE.getSubnet_Tenant_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.AllocationPoolImpl <em>Allocation Pool</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.AllocationPoolImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getAllocationPool()
+ * @generated
+ */
+ EClass ALLOCATION_POOL = eINSTANCE.getAllocationPool();
+
+ /**
+ * The meta object literal for the '<em><b>Start</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ALLOCATION_POOL__START = eINSTANCE.getAllocationPool_Start();
+
+ /**
+ * The meta object literal for the '<em><b>End</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ALLOCATION_POOL__END = eINSTANCE.getAllocationPool_End();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl <em>Router</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.RouterImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getRouter()
+ * @generated
+ */
+ EClass ROUTER = eINSTANCE.getRouter();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROUTER__ID = eINSTANCE.getRouter_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROUTER__NAME = eINSTANCE.getRouter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROUTER__STATUS = eINSTANCE.getRouter_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROUTER__ADMIN_STATE_UP = eINSTANCE.getRouter_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>External gateway info</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROUTER__EXTERNAL_GATEWAY_INFO = eINSTANCE.getRouter_External_gateway_info();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROUTER__TENANT_ID = eINSTANCE.getRouter_Tenant_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl <em>Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.PortImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getPort()
+ * @generated
+ */
+ EClass PORT = eINSTANCE.getPort();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__ID = eINSTANCE.getPort_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__NAME = eINSTANCE.getPort_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__STATUS = eINSTANCE.getPort_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__ADMIN_STATE_UP = eINSTANCE.getPort_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>External gateway info</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT__EXTERNAL_GATEWAY_INFO = eINSTANCE.getPort_External_gateway_info();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__TENANT_ID = eINSTANCE.getPort_Tenant_id();
+
+ /**
+ * The meta object literal for the '<em><b>Allowed address pairs</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__ALLOWED_ADDRESS_PAIRS = eINSTANCE.getPort_Allowed_address_pairs();
+
+ /**
+ * The meta object literal for the '<em><b>Binding host id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__BINDING_HOST_ID = eINSTANCE.getPort_Binding_host_id();
+
+ /**
+ * The meta object literal for the '<em><b>Binding profile</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT__BINDING_PROFILE = eINSTANCE.getPort_Binding_profile();
+
+ /**
+ * The meta object literal for the '<em><b>Binding vif details</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT__BINDING_VIF_DETAILS = eINSTANCE.getPort_Binding_vif_details();
+
+ /**
+ * The meta object literal for the '<em><b>Binding vif type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__BINDING_VIF_TYPE = eINSTANCE.getPort_Binding_vif_type();
+
+ /**
+ * The meta object literal for the '<em><b>Binding vnic type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__BINDING_VNIC_TYPE = eINSTANCE.getPort_Binding_vnic_type();
+
+ /**
+ * The meta object literal for the '<em><b>Device id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__DEVICE_ID = eINSTANCE.getPort_Device_id();
+
+ /**
+ * The meta object literal for the '<em><b>Device owner</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__DEVICE_OWNER = eINSTANCE.getPort_Device_owner();
+
+ /**
+ * The meta object literal for the '<em><b>Extra dhcp opts</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__EXTRA_DHCP_OPTS = eINSTANCE.getPort_Extra_dhcp_opts();
+
+ /**
+ * The meta object literal for the '<em><b>Fixed ips</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT__FIXED_IPS = eINSTANCE.getPort_Fixed_ips();
+
+ /**
+ * The meta object literal for the '<em><b>Mac address</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__MAC_ADDRESS = eINSTANCE.getPort_Mac_address();
+
+ /**
+ * The meta object literal for the '<em><b>Network id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__NETWORK_ID = eINSTANCE.getPort_Network_id();
+
+ /**
+ * The meta object literal for the '<em><b>Security groups</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT__SECURITY_GROUPS = eINSTANCE.getPort_Security_groups();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl <em>Security Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronSecurityGroup()
+ * @generated
+ */
+ EClass NEUTRON_SECURITY_GROUP = eINSTANCE.getNeutronSecurityGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_GROUP__ID = eINSTANCE.getNeutronSecurityGroup_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_GROUP__NAME = eINSTANCE.getNeutronSecurityGroup_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_GROUP__DESCRIPTION = eINSTANCE.getNeutronSecurityGroup_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Security group rules</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES = eINSTANCE.getNeutronSecurityGroup_Security_group_rules();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_GROUP__TENANT_ID = eINSTANCE.getNeutronSecurityGroup_Tenant_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl <em>Security Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronSecurityRule()
+ * @generated
+ */
+ EClass NEUTRON_SECURITY_RULE = eINSTANCE.getNeutronSecurityRule();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__ID = eINSTANCE.getNeutronSecurityRule_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Direction</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__DIRECTION = eINSTANCE.getNeutronSecurityRule_Direction();
+
+ /**
+ * The meta object literal for the '<em><b>Ethertype</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__ETHERTYPE = eINSTANCE.getNeutronSecurityRule_Ethertype();
+
+ /**
+ * The meta object literal for the '<em><b>Port range min</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__PORT_RANGE_MIN = eINSTANCE.getNeutronSecurityRule_Port_range_min();
+
+ /**
+ * The meta object literal for the '<em><b>Port range max</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__PORT_RANGE_MAX = eINSTANCE.getNeutronSecurityRule_Port_range_max();
+
+ /**
+ * The meta object literal for the '<em><b>Protocol</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__PROTOCOL = eINSTANCE.getNeutronSecurityRule_Protocol();
+
+ /**
+ * The meta object literal for the '<em><b>Remote group id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID = eINSTANCE.getNeutronSecurityRule_Remote_group_id();
+
+ /**
+ * The meta object literal for the '<em><b>Remote ip prefix</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX = eINSTANCE.getNeutronSecurityRule_Remote_ip_prefix();
+
+ /**
+ * The meta object literal for the '<em><b>Security group id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID = eINSTANCE.getNeutronSecurityRule_Security_group_id();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_SECURITY_RULE__TENANT_ID = eINSTANCE.getNeutronSecurityRule_Tenant_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl <em>Floating Ip</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronFloatingIp()
+ * @generated
+ */
+ EClass NEUTRON_FLOATING_IP = eINSTANCE.getNeutronFloatingIp();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__ID = eINSTANCE.getNeutronFloatingIp_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__NAME = eINSTANCE.getNeutronFloatingIp_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__STATUS = eINSTANCE.getNeutronFloatingIp_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Floating network id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID = eINSTANCE.getNeutronFloatingIp_Floating_network_id();
+
+ /**
+ * The meta object literal for the '<em><b>Router id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__ROUTER_ID = eINSTANCE.getNeutronFloatingIp_Router_id();
+
+ /**
+ * The meta object literal for the '<em><b>Fixed ip address</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS = eINSTANCE.getNeutronFloatingIp_Fixed_ip_address();
+
+ /**
+ * The meta object literal for the '<em><b>Floating ip address</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS = eINSTANCE.getNeutronFloatingIp_Floating_ip_address();
+
+ /**
+ * The meta object literal for the '<em><b>Tenant id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__TENANT_ID = eINSTANCE.getNeutronFloatingIp_Tenant_id();
+
+ /**
+ * The meta object literal for the '<em><b>Port id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEUTRON_FLOATING_IP__PORT_ID = eINSTANCE.getNeutronFloatingIp_Port_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.BindingProfileImpl <em>Binding Profile</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.BindingProfileImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getBindingProfile()
+ * @generated
+ */
+ EClass BINDING_PROFILE = eINSTANCE.getBindingProfile();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.BindingVifDetailImpl <em>Binding Vif Detail</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.BindingVifDetailImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getBindingVifDetail()
+ * @generated
+ */
+ EClass BINDING_VIF_DETAIL = eINSTANCE.getBindingVifDetail();
+
+ /**
+ * The meta object literal for the '<em><b>Ovs hybrid plug</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BINDING_VIF_DETAIL__OVS_HYBRID_PLUG = eINSTANCE.getBindingVifDetail_Ovs_hybrid_plug();
+
+ /**
+ * The meta object literal for the '<em><b>Port filter</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BINDING_VIF_DETAIL__PORT_FILTER = eINSTANCE.getBindingVifDetail_Port_filter();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.FixedIpImpl <em>Fixed Ip</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.FixedIpImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getFixedIp()
+ * @generated
+ */
+ EClass FIXED_IP = eINSTANCE.getFixedIp();
+
+ /**
+ * The meta object literal for the '<em><b>Ip address</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FIXED_IP__IP_ADDRESS = eINSTANCE.getFixedIp_Ip_address();
+
+ /**
+ * The meta object literal for the '<em><b>Subnet id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FIXED_IP__SUBNET_ID = eINSTANCE.getFixedIp_Subnet_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.ExternalGatewayImpl <em>External Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.ExternalGatewayImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getExternalGateway()
+ * @generated
+ */
+ EClass EXTERNAL_GATEWAY = eINSTANCE.getExternalGateway();
+
+ /**
+ * The meta object literal for the '<em><b>Enable snat</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTERNAL_GATEWAY__ENABLE_SNAT = eINSTANCE.getExternalGateway_Enable_snat();
+
+ /**
+ * The meta object literal for the '<em><b>Network id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTERNAL_GATEWAY__NETWORK_ID = eINSTANCE.getExternalGateway_Network_id();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronRequestImpl <em>Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getNeutronRequest()
+ * @generated
+ */
+ EClass NEUTRON_REQUEST = eINSTANCE.getNeutronRequest();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl <em>Create Network Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreateNetworkRequest()
+ * @generated
+ */
+ EClass CREATE_NETWORK_REQUEST = eINSTANCE.getCreateNetworkRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_NETWORK_REQUEST__NAME = eINSTANCE.getCreateNetworkRequest_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Provider Network Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE = eINSTANCE.getCreateNetworkRequest_ProviderNetworkType();
+
+ /**
+ * The meta object literal for the '<em><b>Provider Physical Network</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK = eINSTANCE.getCreateNetworkRequest_ProviderPhysicalNetwork();
+
+ /**
+ * The meta object literal for the '<em><b>Provider Segmentation Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID = eINSTANCE.getCreateNetworkRequest_ProviderSegmentationId();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_NETWORK_REQUEST__ADMIN_STATE_UP = eINSTANCE.getCreateNetworkRequest_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>Shared</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_NETWORK_REQUEST__SHARED = eINSTANCE.getCreateNetworkRequest_Shared();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl <em>Create Subnet Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreateSubnetRequest()
+ * @generated
+ */
+ EClass CREATE_SUBNET_REQUEST = eINSTANCE.getCreateSubnetRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__NAME = eINSTANCE.getCreateSubnetRequest_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Network id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__NETWORK_ID = eINSTANCE.getCreateSubnetRequest_Network_id();
+
+ /**
+ * The meta object literal for the '<em><b>Ip version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__IP_VERSION = eINSTANCE.getCreateSubnetRequest_Ip_version();
+
+ /**
+ * The meta object literal for the '<em><b>Cidr</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__CIDR = eINSTANCE.getCreateSubnetRequest_Cidr();
+
+ /**
+ * The meta object literal for the '<em><b>Allocation pools</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CREATE_SUBNET_REQUEST__ALLOCATION_POOLS = eINSTANCE.getCreateSubnetRequest_Allocation_pools();
+
+ /**
+ * The meta object literal for the '<em><b>Dns nameservers</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__DNS_NAMESERVERS = eINSTANCE.getCreateSubnetRequest_Dns_nameservers();
+
+ /**
+ * The meta object literal for the '<em><b>Enable dhcp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__ENABLE_DHCP = eINSTANCE.getCreateSubnetRequest_Enable_dhcp();
+
+ /**
+ * The meta object literal for the '<em><b>Gateway ip</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_SUBNET_REQUEST__GATEWAY_IP = eINSTANCE.getCreateSubnetRequest_Gateway_ip();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl <em>Create Router Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreateRouterRequest()
+ * @generated
+ */
+ EClass CREATE_ROUTER_REQUEST = eINSTANCE.getCreateRouterRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_ROUTER_REQUEST__NAME = eINSTANCE.getCreateRouterRequest_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_ROUTER_REQUEST__ADMIN_STATE_UP = eINSTANCE.getCreateRouterRequest_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>Shared</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_ROUTER_REQUEST__SHARED = eINSTANCE.getCreateRouterRequest_Shared();
+
+ /**
+ * The meta object literal for the '<em><b>External Network</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK = eINSTANCE.getCreateRouterRequest_ExternalNetwork();
+
+ /**
+ * The meta object literal for the '<em><b>Ports</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_ROUTER_REQUEST__PORTS = eINSTANCE.getCreateRouterRequest_Ports();
+
+ /**
+ * The meta object literal for the '<em><b>Subnets</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_ROUTER_REQUEST__SUBNETS = eINSTANCE.getCreateRouterRequest_Subnets();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl <em>Create Port Request</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl
+ * @see org.openecomp.ncomp.openstack.neutron.impl.NeutronPackageImpl#getCreatePortRequest()
+ * @generated
+ */
+ EClass CREATE_PORT_REQUEST = eINSTANCE.getCreatePortRequest();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_PORT_REQUEST__NAME = eINSTANCE.getCreatePortRequest_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Binding Vnic Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_PORT_REQUEST__BINDING_VNIC_TYPE = eINSTANCE.getCreatePortRequest_BindingVnicType();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_PORT_REQUEST__STATUS = eINSTANCE.getCreatePortRequest_Status();
+
+ /**
+ * The meta object literal for the '<em><b>Admin state up</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_PORT_REQUEST__ADMIN_STATE_UP = eINSTANCE.getCreatePortRequest_Admin_state_up();
+
+ /**
+ * The meta object literal for the '<em><b>Fixed ips</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CREATE_PORT_REQUEST__FIXED_IPS = eINSTANCE.getCreatePortRequest_Fixed_ips();
+
+ /**
+ * The meta object literal for the '<em><b>Mac address</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_PORT_REQUEST__MAC_ADDRESS = eINSTANCE.getCreatePortRequest_Mac_address();
+
+ /**
+ * The meta object literal for the '<em><b>Network id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CREATE_PORT_REQUEST__NETWORK_ID = eINSTANCE.getCreatePortRequest_Network_id();
+
+ }
+
+} //NeutronPackage
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronRequest.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronRequest.java
new file mode 100644
index 0000000..cc822f6
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronRequest.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronRequest()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NeutronRequest extends OpenStackRequest {
+} // NeutronRequest
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityGroup.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityGroup.java
new file mode 100644
index 0000000..28a36f8
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityGroup.java
@@ -0,0 +1,169 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getSecurity_group_rules <em>Security group rules</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityGroup()
+ * @model
+ * @generated
+ */
+public interface NeutronSecurityGroup extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityGroup_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityGroup_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityGroup_Description()
+ * @model unique="false"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Security group rules</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Security group rules</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Security group rules</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityGroup_Security_group_rules()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NeutronSecurityRule> getSecurity_group_rules();
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityGroup_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+} // NeutronSecurityGroup
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityRule.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityRule.java
new file mode 100644
index 0000000..94fa065
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronSecurityRule.java
@@ -0,0 +1,313 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getEthertype <em>Ethertype</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_min <em>Port range min</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_max <em>Port range max</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getProtocol <em>Protocol</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_group_id <em>Remote group id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_ip_prefix <em>Remote ip prefix</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getSecurity_group_id <em>Security group id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule()
+ * @model
+ * @generated
+ */
+public interface NeutronSecurityRule extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Direction</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Direction</em>' attribute.
+ * @see #setDirection(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Direction()
+ * @model unique="false"
+ * @generated
+ */
+ String getDirection();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getDirection <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Direction</em>' attribute.
+ * @see #getDirection()
+ * @generated
+ */
+ void setDirection(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ethertype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ethertype</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ethertype</em>' attribute.
+ * @see #setEthertype(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Ethertype()
+ * @model unique="false"
+ * @generated
+ */
+ String getEthertype();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getEthertype <em>Ethertype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ethertype</em>' attribute.
+ * @see #getEthertype()
+ * @generated
+ */
+ void setEthertype(String value);
+
+ /**
+ * Returns the value of the '<em><b>Port range min</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port range min</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port range min</em>' attribute.
+ * @see #setPort_range_min(Integer)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Port_range_min()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getPort_range_min();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_min <em>Port range min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port range min</em>' attribute.
+ * @see #getPort_range_min()
+ * @generated
+ */
+ void setPort_range_min(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Port range max</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port range max</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port range max</em>' attribute.
+ * @see #setPort_range_max(Integer)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Port_range_max()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getPort_range_max();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getPort_range_max <em>Port range max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port range max</em>' attribute.
+ * @see #getPort_range_max()
+ * @generated
+ */
+ void setPort_range_max(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Protocol</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Protocol</em>' attribute.
+ * @see #setProtocol(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Protocol()
+ * @model unique="false"
+ * @generated
+ */
+ String getProtocol();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getProtocol <em>Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Protocol</em>' attribute.
+ * @see #getProtocol()
+ * @generated
+ */
+ void setProtocol(String value);
+
+ /**
+ * Returns the value of the '<em><b>Remote group id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Remote group id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Remote group id</em>' attribute.
+ * @see #setRemote_group_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Remote_group_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getRemote_group_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_group_id <em>Remote group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Remote group id</em>' attribute.
+ * @see #getRemote_group_id()
+ * @generated
+ */
+ void setRemote_group_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Remote ip prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Remote ip prefix</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Remote ip prefix</em>' attribute.
+ * @see #setRemote_ip_prefix(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Remote_ip_prefix()
+ * @model unique="false"
+ * @generated
+ */
+ String getRemote_ip_prefix();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getRemote_ip_prefix <em>Remote ip prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Remote ip prefix</em>' attribute.
+ * @see #getRemote_ip_prefix()
+ * @generated
+ */
+ void setRemote_ip_prefix(String value);
+
+ /**
+ * Returns the value of the '<em><b>Security group id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Security group id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Security group id</em>' attribute.
+ * @see #setSecurity_group_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Security_group_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getSecurity_group_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getSecurity_group_id <em>Security group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Security group id</em>' attribute.
+ * @see #getSecurity_group_id()
+ * @generated
+ */
+ void setSecurity_group_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronSecurityRule_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+} // NeutronSecurityRule
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronService.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronService.java
new file mode 100644
index 0000000..128c596
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/NeutronService.java
@@ -0,0 +1,111 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getNeutronService()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NeutronService extends EObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" requestUnique="false"
+ * @generated
+ */
+ Network createNetwork(CreateNetworkRequest request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" requestUnique="false"
+ * @generated
+ */
+ Subnet createSubnet(CreateSubnetRequest request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" requestUnique="false"
+ * @generated
+ */
+ Port createPort(CreatePortRequest request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" requestUnique="false"
+ * @generated
+ */
+ Router createRouter(CreateRouterRequest request);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" nameUnique="false"
+ * @generated
+ */
+ void deleteNetwork(String projectName, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" nameUnique="false"
+ * @generated
+ */
+ void deleteSubnet(String projectName, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" nameUnique="false"
+ * @generated
+ */
+ void deletePort(String projectName, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" nameUnique="false"
+ * @generated
+ */
+ void deleteRouter(String projectName, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model projectNameUnique="false" ipIdUnique="false" portIdUnique="false"
+ * @generated
+ */
+ void associateFloatingIp(String projectName, String ipId, String portId);
+
+} // NeutronService
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Port.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Port.java
new file mode 100644
index 0000000..ca409f1
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Port.java
@@ -0,0 +1,517 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getExternal_gateway_info <em>External gateway info</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getAllowed_address_pairs <em>Allowed address pairs</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_host_id <em>Binding host id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_profile <em>Binding profile</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_details <em>Binding vif details</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_type <em>Binding vif type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vnic_type <em>Binding vnic type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getDevice_id <em>Device id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getDevice_owner <em>Device owner</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getExtra_dhcp_opts <em>Extra dhcp opts</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getFixed_ips <em>Fixed ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getMac_address <em>Mac address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getNetwork_id <em>Network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Port#getSecurity_groups <em>Security groups</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort()
+ * @model
+ * @generated
+ */
+public interface Port extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>External gateway info</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External gateway info</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>External gateway info</em>' containment reference.
+ * @see #setExternal_gateway_info(ExternalGateway)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_External_gateway_info()
+ * @model containment="true"
+ * @generated
+ */
+ ExternalGateway getExternal_gateway_info();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getExternal_gateway_info <em>External gateway info</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>External gateway info</em>' containment reference.
+ * @see #getExternal_gateway_info()
+ * @generated
+ */
+ void setExternal_gateway_info(ExternalGateway value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Allowed address pairs</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allowed address pairs</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allowed address pairs</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Allowed_address_pairs()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getAllowed_address_pairs();
+
+ /**
+ * Returns the value of the '<em><b>Binding host id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding host id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding host id</em>' attribute.
+ * @see #setBinding_host_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Binding_host_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getBinding_host_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_host_id <em>Binding host id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding host id</em>' attribute.
+ * @see #getBinding_host_id()
+ * @generated
+ */
+ void setBinding_host_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Binding profile</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding profile</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding profile</em>' containment reference.
+ * @see #setBinding_profile(BindingProfile)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Binding_profile()
+ * @model containment="true"
+ * @generated
+ */
+ BindingProfile getBinding_profile();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_profile <em>Binding profile</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding profile</em>' containment reference.
+ * @see #getBinding_profile()
+ * @generated
+ */
+ void setBinding_profile(BindingProfile value);
+
+ /**
+ * Returns the value of the '<em><b>Binding vif details</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding vif details</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding vif details</em>' containment reference.
+ * @see #setBinding_vif_details(BindingVifDetail)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Binding_vif_details()
+ * @model containment="true"
+ * @generated
+ */
+ BindingVifDetail getBinding_vif_details();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_details <em>Binding vif details</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding vif details</em>' containment reference.
+ * @see #getBinding_vif_details()
+ * @generated
+ */
+ void setBinding_vif_details(BindingVifDetail value);
+
+ /**
+ * Returns the value of the '<em><b>Binding vif type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding vif type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding vif type</em>' attribute.
+ * @see #setBinding_vif_type(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Binding_vif_type()
+ * @model unique="false"
+ * @generated
+ */
+ String getBinding_vif_type();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vif_type <em>Binding vif type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding vif type</em>' attribute.
+ * @see #getBinding_vif_type()
+ * @generated
+ */
+ void setBinding_vif_type(String value);
+
+ /**
+ * Returns the value of the '<em><b>Binding vnic type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding vnic type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding vnic type</em>' attribute.
+ * @see #setBinding_vnic_type(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Binding_vnic_type()
+ * @model unique="false"
+ * @generated
+ */
+ String getBinding_vnic_type();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getBinding_vnic_type <em>Binding vnic type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding vnic type</em>' attribute.
+ * @see #getBinding_vnic_type()
+ * @generated
+ */
+ void setBinding_vnic_type(String value);
+
+ /**
+ * Returns the value of the '<em><b>Device id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Device id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Device id</em>' attribute.
+ * @see #setDevice_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Device_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getDevice_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getDevice_id <em>Device id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Device id</em>' attribute.
+ * @see #getDevice_id()
+ * @generated
+ */
+ void setDevice_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Device owner</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Device owner</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Device owner</em>' attribute.
+ * @see #setDevice_owner(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Device_owner()
+ * @model unique="false"
+ * @generated
+ */
+ String getDevice_owner();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getDevice_owner <em>Device owner</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Device owner</em>' attribute.
+ * @see #getDevice_owner()
+ * @generated
+ */
+ void setDevice_owner(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extra dhcp opts</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extra dhcp opts</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extra dhcp opts</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Extra_dhcp_opts()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getExtra_dhcp_opts();
+
+ /**
+ * Returns the value of the '<em><b>Fixed ips</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.FixedIp}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fixed ips</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fixed ips</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Fixed_ips()
+ * @model containment="true"
+ * @generated
+ */
+ EList<FixedIp> getFixed_ips();
+
+ /**
+ * Returns the value of the '<em><b>Mac address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mac address</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mac address</em>' attribute.
+ * @see #setMac_address(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Mac_address()
+ * @model unique="false"
+ * @generated
+ */
+ String getMac_address();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getMac_address <em>Mac address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mac address</em>' attribute.
+ * @see #getMac_address()
+ * @generated
+ */
+ void setMac_address(String value);
+
+ /**
+ * Returns the value of the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Network id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Network id</em>' attribute.
+ * @see #setNetwork_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Network_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getNetwork_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Port#getNetwork_id <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Network id</em>' attribute.
+ * @see #getNetwork_id()
+ * @generated
+ */
+ void setNetwork_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Security groups</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Security groups</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Security groups</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getPort_Security_groups()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getSecurity_groups();
+
+} // Port
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Router.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Router.java
new file mode 100644
index 0000000..aa7b0ab
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Router.java
@@ -0,0 +1,205 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Router</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Router#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Router#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Router#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Router#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Router#getExternal_gateway_info <em>External gateway info</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Router#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter()
+ * @model
+ * @generated
+ */
+public interface Router extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Router#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Router#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Router#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Router#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>External gateway info</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External gateway info</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>External gateway info</em>' containment reference.
+ * @see #setExternal_gateway_info(ExternalGateway)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter_External_gateway_info()
+ * @model containment="true"
+ * @generated
+ */
+ ExternalGateway getExternal_gateway_info();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Router#getExternal_gateway_info <em>External gateway info</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>External gateway info</em>' containment reference.
+ * @see #getExternal_gateway_info()
+ * @generated
+ */
+ void setExternal_gateway_info(ExternalGateway value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getRouter_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Router#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+} // Router
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Subnet.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Subnet.java
new file mode 100644
index 0000000..01f824b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/Subnet.java
@@ -0,0 +1,365 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Subnet</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getCidr <em>Cidr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getAllocation_pools <em>Allocation pools</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getDns_nameservers <em>Dns nameservers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getEnable_dhcp <em>Enable dhcp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getGateway_ip <em>Gateway ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getHost_routes <em>Host routes</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getIp_version <em>Ip version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getNetwork_id <em>Network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.Subnet#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet()
+ * @model
+ * @generated
+ */
+public interface Subnet extends NeutronObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Id()
+ * @model unique="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Status</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Status()
+ * @model unique="false"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getStatus <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+ /**
+ * Returns the value of the '<em><b>Admin state up</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Admin state up</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Admin state up</em>' attribute.
+ * @see #setAdmin_state_up(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Admin_state_up()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getAdmin_state_up();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getAdmin_state_up <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Admin state up</em>' attribute.
+ * @see #getAdmin_state_up()
+ * @generated
+ */
+ void setAdmin_state_up(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Cidr</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cidr</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cidr</em>' attribute.
+ * @see #setCidr(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Cidr()
+ * @model unique="false"
+ * @generated
+ */
+ String getCidr();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getCidr <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cidr</em>' attribute.
+ * @see #getCidr()
+ * @generated
+ */
+ void setCidr(String value);
+
+ /**
+ * Returns the value of the '<em><b>Allocation pools</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.ncomp.openstack.neutron.AllocationPool}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocation pools</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allocation pools</em>' containment reference list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Allocation_pools()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AllocationPool> getAllocation_pools();
+
+ /**
+ * Returns the value of the '<em><b>Dns nameservers</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dns nameservers</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dns nameservers</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Dns_nameservers()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getDns_nameservers();
+
+ /**
+ * Returns the value of the '<em><b>Enable dhcp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enable dhcp</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enable dhcp</em>' attribute.
+ * @see #setEnable_dhcp(Boolean)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Enable_dhcp()
+ * @model unique="false"
+ * @generated
+ */
+ Boolean getEnable_dhcp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getEnable_dhcp <em>Enable dhcp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enable dhcp</em>' attribute.
+ * @see #getEnable_dhcp()
+ * @generated
+ */
+ void setEnable_dhcp(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Gateway ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Gateway ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Gateway ip</em>' attribute.
+ * @see #setGateway_ip(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Gateway_ip()
+ * @model unique="false"
+ * @generated
+ */
+ String getGateway_ip();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getGateway_ip <em>Gateway ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Gateway ip</em>' attribute.
+ * @see #getGateway_ip()
+ * @generated
+ */
+ void setGateway_ip(String value);
+
+ /**
+ * Returns the value of the '<em><b>Host routes</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Host routes</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Host routes</em>' attribute list.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Host_routes()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getHost_routes();
+
+ /**
+ * Returns the value of the '<em><b>Ip version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ip version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ip version</em>' attribute.
+ * @see #setIp_version(Integer)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Ip_version()
+ * @model unique="false"
+ * @generated
+ */
+ Integer getIp_version();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getIp_version <em>Ip version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ip version</em>' attribute.
+ * @see #getIp_version()
+ * @generated
+ */
+ void setIp_version(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Network id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Network id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Network id</em>' attribute.
+ * @see #setNetwork_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Network_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getNetwork_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getNetwork_id <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Network id</em>' attribute.
+ * @see #getNetwork_id()
+ * @generated
+ */
+ void setNetwork_id(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tenant id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tenant id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tenant id</em>' attribute.
+ * @see #setTenant_id(String)
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#getSubnet_Tenant_id()
+ * @model unique="false"
+ * @generated
+ */
+ String getTenant_id();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.ncomp.openstack.neutron.Subnet#getTenant_id <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tenant id</em>' attribute.
+ * @see #getTenant_id()
+ * @generated
+ */
+ void setTenant_id(String value);
+
+} // Subnet
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/AllocationPoolImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/AllocationPoolImpl.java
new file mode 100644
index 0000000..2bb19b7
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/AllocationPoolImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.AllocationPool;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocation Pool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.AllocationPoolImpl#getStart <em>Start</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.AllocationPoolImpl#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AllocationPoolImpl extends MinimalEObjectImpl.Container implements AllocationPool {
+ /**
+ * The default value of the '{@link #getStart() <em>Start</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStart()
+ * @generated
+ * @ordered
+ */
+ protected static final String START_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStart() <em>Start</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStart()
+ * @generated
+ * @ordered
+ */
+ protected String start = START_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEnd() <em>End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnd()
+ * @generated
+ * @ordered
+ */
+ protected static final String END_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnd() <em>End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnd()
+ * @generated
+ * @ordered
+ */
+ protected String end = END_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocationPoolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.ALLOCATION_POOL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStart() {
+ return start;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStart(String newStart) {
+ String oldStart = start;
+ start = newStart;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ALLOCATION_POOL__START, oldStart, start));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEnd() {
+ return end;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnd(String newEnd) {
+ String oldEnd = end;
+ end = newEnd;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ALLOCATION_POOL__END, oldEnd, end));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.ALLOCATION_POOL__START:
+ return getStart();
+ case NeutronPackage.ALLOCATION_POOL__END:
+ return getEnd();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.ALLOCATION_POOL__START:
+ setStart((String)newValue);
+ return;
+ case NeutronPackage.ALLOCATION_POOL__END:
+ setEnd((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.ALLOCATION_POOL__START:
+ setStart(START_EDEFAULT);
+ return;
+ case NeutronPackage.ALLOCATION_POOL__END:
+ setEnd(END_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.ALLOCATION_POOL__START:
+ return START_EDEFAULT == null ? start != null : !START_EDEFAULT.equals(start);
+ case NeutronPackage.ALLOCATION_POOL__END:
+ return END_EDEFAULT == null ? end != null : !END_EDEFAULT.equals(end);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (start: ");
+ result.append(start);
+ result.append(", end: ");
+ result.append(end);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AllocationPoolImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingProfileImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingProfileImpl.java
new file mode 100644
index 0000000..6c0f7b2
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingProfileImpl.java
@@ -0,0 +1,62 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.BindingProfile;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Binding Profile</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class BindingProfileImpl extends MinimalEObjectImpl.Container implements BindingProfile {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BindingProfileImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.BINDING_PROFILE;
+ }
+
+} //BindingProfileImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingVifDetailImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingVifDetailImpl.java
new file mode 100644
index 0000000..32770b5
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/BindingVifDetailImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.BindingVifDetail;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Binding Vif Detail</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.BindingVifDetailImpl#getOvs_hybrid_plug <em>Ovs hybrid plug</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.BindingVifDetailImpl#getPort_filter <em>Port filter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BindingVifDetailImpl extends MinimalEObjectImpl.Container implements BindingVifDetail {
+ /**
+ * The default value of the '{@link #getOvs_hybrid_plug() <em>Ovs hybrid plug</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOvs_hybrid_plug()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean OVS_HYBRID_PLUG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOvs_hybrid_plug() <em>Ovs hybrid plug</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOvs_hybrid_plug()
+ * @generated
+ * @ordered
+ */
+ protected Boolean ovs_hybrid_plug = OVS_HYBRID_PLUG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPort_filter() <em>Port filter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_filter()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean PORT_FILTER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPort_filter() <em>Port filter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_filter()
+ * @generated
+ * @ordered
+ */
+ protected Boolean port_filter = PORT_FILTER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BindingVifDetailImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.BINDING_VIF_DETAIL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getOvs_hybrid_plug() {
+ return ovs_hybrid_plug;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOvs_hybrid_plug(Boolean newOvs_hybrid_plug) {
+ Boolean oldOvs_hybrid_plug = ovs_hybrid_plug;
+ ovs_hybrid_plug = newOvs_hybrid_plug;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.BINDING_VIF_DETAIL__OVS_HYBRID_PLUG, oldOvs_hybrid_plug, ovs_hybrid_plug));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getPort_filter() {
+ return port_filter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort_filter(Boolean newPort_filter) {
+ Boolean oldPort_filter = port_filter;
+ port_filter = newPort_filter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.BINDING_VIF_DETAIL__PORT_FILTER, oldPort_filter, port_filter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.BINDING_VIF_DETAIL__OVS_HYBRID_PLUG:
+ return getOvs_hybrid_plug();
+ case NeutronPackage.BINDING_VIF_DETAIL__PORT_FILTER:
+ return getPort_filter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.BINDING_VIF_DETAIL__OVS_HYBRID_PLUG:
+ setOvs_hybrid_plug((Boolean)newValue);
+ return;
+ case NeutronPackage.BINDING_VIF_DETAIL__PORT_FILTER:
+ setPort_filter((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.BINDING_VIF_DETAIL__OVS_HYBRID_PLUG:
+ setOvs_hybrid_plug(OVS_HYBRID_PLUG_EDEFAULT);
+ return;
+ case NeutronPackage.BINDING_VIF_DETAIL__PORT_FILTER:
+ setPort_filter(PORT_FILTER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.BINDING_VIF_DETAIL__OVS_HYBRID_PLUG:
+ return OVS_HYBRID_PLUG_EDEFAULT == null ? ovs_hybrid_plug != null : !OVS_HYBRID_PLUG_EDEFAULT.equals(ovs_hybrid_plug);
+ case NeutronPackage.BINDING_VIF_DETAIL__PORT_FILTER:
+ return PORT_FILTER_EDEFAULT == null ? port_filter != null : !PORT_FILTER_EDEFAULT.equals(port_filter);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ovs_hybrid_plug: ");
+ result.append(ovs_hybrid_plug);
+ result.append(", port_filter: ");
+ result.append(port_filter);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BindingVifDetailImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateNetworkRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateNetworkRequestImpl.java
new file mode 100644
index 0000000..6daf134
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateNetworkRequestImpl.java
@@ -0,0 +1,453 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Network Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl#getProviderNetworkType <em>Provider Network Type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl#getProviderPhysicalNetwork <em>Provider Physical Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl#getProviderSegmentationId <em>Provider Segmentation Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateNetworkRequestImpl#getShared <em>Shared</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CreateNetworkRequestImpl extends NeutronRequestImpl implements CreateNetworkRequest {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProviderNetworkType() <em>Provider Network Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProviderNetworkType()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROVIDER_NETWORK_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProviderNetworkType() <em>Provider Network Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProviderNetworkType()
+ * @generated
+ * @ordered
+ */
+ protected String providerNetworkType = PROVIDER_NETWORK_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProviderPhysicalNetwork() <em>Provider Physical Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProviderPhysicalNetwork()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROVIDER_PHYSICAL_NETWORK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProviderPhysicalNetwork() <em>Provider Physical Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProviderPhysicalNetwork()
+ * @generated
+ * @ordered
+ */
+ protected String providerPhysicalNetwork = PROVIDER_PHYSICAL_NETWORK_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProviderSegmentationId() <em>Provider Segmentation Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProviderSegmentationId()
+ * @generated
+ * @ordered
+ */
+ protected static final int PROVIDER_SEGMENTATION_ID_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getProviderSegmentationId() <em>Provider Segmentation Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProviderSegmentationId()
+ * @generated
+ * @ordered
+ */
+ protected int providerSegmentationId = PROVIDER_SEGMENTATION_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShared() <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShared()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean SHARED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShared() <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShared()
+ * @generated
+ * @ordered
+ */
+ protected Boolean shared = SHARED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateNetworkRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.CREATE_NETWORK_REQUEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_NETWORK_REQUEST__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProviderNetworkType() {
+ return providerNetworkType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProviderNetworkType(String newProviderNetworkType) {
+ String oldProviderNetworkType = providerNetworkType;
+ providerNetworkType = newProviderNetworkType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE, oldProviderNetworkType, providerNetworkType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProviderPhysicalNetwork() {
+ return providerPhysicalNetwork;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProviderPhysicalNetwork(String newProviderPhysicalNetwork) {
+ String oldProviderPhysicalNetwork = providerPhysicalNetwork;
+ providerPhysicalNetwork = newProviderPhysicalNetwork;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK, oldProviderPhysicalNetwork, providerPhysicalNetwork));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getProviderSegmentationId() {
+ return providerSegmentationId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProviderSegmentationId(int newProviderSegmentationId) {
+ int oldProviderSegmentationId = providerSegmentationId;
+ providerSegmentationId = newProviderSegmentationId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID, oldProviderSegmentationId, providerSegmentationId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_NETWORK_REQUEST__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getShared() {
+ return shared;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setShared(Boolean newShared) {
+ Boolean oldShared = shared;
+ shared = newShared;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_NETWORK_REQUEST__SHARED, oldShared, shared));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_NETWORK_REQUEST__NAME:
+ return getName();
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE:
+ return getProviderNetworkType();
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK:
+ return getProviderPhysicalNetwork();
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID:
+ return getProviderSegmentationId();
+ case NeutronPackage.CREATE_NETWORK_REQUEST__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.CREATE_NETWORK_REQUEST__SHARED:
+ return getShared();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_NETWORK_REQUEST__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE:
+ setProviderNetworkType((String)newValue);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK:
+ setProviderPhysicalNetwork((String)newValue);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID:
+ setProviderSegmentationId((Integer)newValue);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__SHARED:
+ setShared((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_NETWORK_REQUEST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE:
+ setProviderNetworkType(PROVIDER_NETWORK_TYPE_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK:
+ setProviderPhysicalNetwork(PROVIDER_PHYSICAL_NETWORK_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID:
+ setProviderSegmentationId(PROVIDER_SEGMENTATION_ID_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__SHARED:
+ setShared(SHARED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_NETWORK_REQUEST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE:
+ return PROVIDER_NETWORK_TYPE_EDEFAULT == null ? providerNetworkType != null : !PROVIDER_NETWORK_TYPE_EDEFAULT.equals(providerNetworkType);
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK:
+ return PROVIDER_PHYSICAL_NETWORK_EDEFAULT == null ? providerPhysicalNetwork != null : !PROVIDER_PHYSICAL_NETWORK_EDEFAULT.equals(providerPhysicalNetwork);
+ case NeutronPackage.CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID:
+ return providerSegmentationId != PROVIDER_SEGMENTATION_ID_EDEFAULT;
+ case NeutronPackage.CREATE_NETWORK_REQUEST__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.CREATE_NETWORK_REQUEST__SHARED:
+ return SHARED_EDEFAULT == null ? shared != null : !SHARED_EDEFAULT.equals(shared);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", providerNetworkType: ");
+ result.append(providerNetworkType);
+ result.append(", providerPhysicalNetwork: ");
+ result.append(providerPhysicalNetwork);
+ result.append(", providerSegmentationId: ");
+ result.append(providerSegmentationId);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", shared: ");
+ result.append(shared);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CreateNetworkRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreatePortRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreatePortRequestImpl.java
new file mode 100644
index 0000000..0babe21
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreatePortRequestImpl.java
@@ -0,0 +1,506 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.CreatePortRequest;
+import org.openecomp.ncomp.openstack.neutron.FixedIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Port Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getBindingVnicType <em>Binding Vnic Type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getFixed_ips <em>Fixed ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getMac_address <em>Mac address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreatePortRequestImpl#getNetwork_id <em>Network id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CreatePortRequestImpl extends NeutronRequestImpl implements CreatePortRequest {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBindingVnicType() <em>Binding Vnic Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBindingVnicType()
+ * @generated
+ * @ordered
+ */
+ protected static final String BINDING_VNIC_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBindingVnicType() <em>Binding Vnic Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBindingVnicType()
+ * @generated
+ * @ordered
+ */
+ protected String bindingVnicType = BINDING_VNIC_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFixed_ips() <em>Fixed ips</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFixed_ips()
+ * @generated
+ * @ordered
+ */
+ protected EList<FixedIp> fixed_ips;
+
+ /**
+ * The default value of the '{@link #getMac_address() <em>Mac address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMac_address()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAC_ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMac_address() <em>Mac address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMac_address()
+ * @generated
+ * @ordered
+ */
+ protected String mac_address = MAC_ADDRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String NETWORK_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected String network_id = NETWORK_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreatePortRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.CREATE_PORT_REQUEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_PORT_REQUEST__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBindingVnicType() {
+ return bindingVnicType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBindingVnicType(String newBindingVnicType) {
+ String oldBindingVnicType = bindingVnicType;
+ bindingVnicType = newBindingVnicType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_PORT_REQUEST__BINDING_VNIC_TYPE, oldBindingVnicType, bindingVnicType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_PORT_REQUEST__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_PORT_REQUEST__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FixedIp> getFixed_ips() {
+ if (fixed_ips == null) {
+ fixed_ips = new EObjectContainmentEList<FixedIp>(FixedIp.class, this, NeutronPackage.CREATE_PORT_REQUEST__FIXED_IPS);
+ }
+ return fixed_ips;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMac_address() {
+ return mac_address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMac_address(String newMac_address) {
+ String oldMac_address = mac_address;
+ mac_address = newMac_address;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_PORT_REQUEST__MAC_ADDRESS, oldMac_address, mac_address));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNetwork_id() {
+ return network_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNetwork_id(String newNetwork_id) {
+ String oldNetwork_id = network_id;
+ network_id = newNetwork_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_PORT_REQUEST__NETWORK_ID, oldNetwork_id, network_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_PORT_REQUEST__FIXED_IPS:
+ return ((InternalEList<?>)getFixed_ips()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_PORT_REQUEST__NAME:
+ return getName();
+ case NeutronPackage.CREATE_PORT_REQUEST__BINDING_VNIC_TYPE:
+ return getBindingVnicType();
+ case NeutronPackage.CREATE_PORT_REQUEST__STATUS:
+ return getStatus();
+ case NeutronPackage.CREATE_PORT_REQUEST__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.CREATE_PORT_REQUEST__FIXED_IPS:
+ return getFixed_ips();
+ case NeutronPackage.CREATE_PORT_REQUEST__MAC_ADDRESS:
+ return getMac_address();
+ case NeutronPackage.CREATE_PORT_REQUEST__NETWORK_ID:
+ return getNetwork_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_PORT_REQUEST__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__BINDING_VNIC_TYPE:
+ setBindingVnicType((String)newValue);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__STATUS:
+ setStatus((String)newValue);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__FIXED_IPS:
+ getFixed_ips().clear();
+ getFixed_ips().addAll((Collection<? extends FixedIp>)newValue);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__MAC_ADDRESS:
+ setMac_address((String)newValue);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__NETWORK_ID:
+ setNetwork_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_PORT_REQUEST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__BINDING_VNIC_TYPE:
+ setBindingVnicType(BINDING_VNIC_TYPE_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__FIXED_IPS:
+ getFixed_ips().clear();
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__MAC_ADDRESS:
+ setMac_address(MAC_ADDRESS_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_PORT_REQUEST__NETWORK_ID:
+ setNetwork_id(NETWORK_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_PORT_REQUEST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.CREATE_PORT_REQUEST__BINDING_VNIC_TYPE:
+ return BINDING_VNIC_TYPE_EDEFAULT == null ? bindingVnicType != null : !BINDING_VNIC_TYPE_EDEFAULT.equals(bindingVnicType);
+ case NeutronPackage.CREATE_PORT_REQUEST__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case NeutronPackage.CREATE_PORT_REQUEST__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.CREATE_PORT_REQUEST__FIXED_IPS:
+ return fixed_ips != null && !fixed_ips.isEmpty();
+ case NeutronPackage.CREATE_PORT_REQUEST__MAC_ADDRESS:
+ return MAC_ADDRESS_EDEFAULT == null ? mac_address != null : !MAC_ADDRESS_EDEFAULT.equals(mac_address);
+ case NeutronPackage.CREATE_PORT_REQUEST__NETWORK_ID:
+ return NETWORK_ID_EDEFAULT == null ? network_id != null : !NETWORK_ID_EDEFAULT.equals(network_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", bindingVnicType: ");
+ result.append(bindingVnicType);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", mac_address: ");
+ result.append(mac_address);
+ result.append(", network_id: ");
+ result.append(network_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CreatePortRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateRouterRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateRouterRequestImpl.java
new file mode 100644
index 0000000..9da0436
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateRouterRequestImpl.java
@@ -0,0 +1,421 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.CreateRouterRequest;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Router Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl#getShared <em>Shared</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl#getExternalNetwork <em>External Network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateRouterRequestImpl#getSubnets <em>Subnets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CreateRouterRequestImpl extends NeutronRequestImpl implements CreateRouterRequest {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShared() <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShared()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean SHARED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShared() <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShared()
+ * @generated
+ * @ordered
+ */
+ protected Boolean shared = SHARED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExternalNetwork() <em>External Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternalNetwork()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXTERNAL_NETWORK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExternalNetwork() <em>External Network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternalNetwork()
+ * @generated
+ * @ordered
+ */
+ protected String externalNetwork = EXTERNAL_NETWORK_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPorts() <em>Ports</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPorts()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> ports;
+
+ /**
+ * The cached value of the '{@link #getSubnets() <em>Subnets</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubnets()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> subnets;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateRouterRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.CREATE_ROUTER_REQUEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_ROUTER_REQUEST__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_ROUTER_REQUEST__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getShared() {
+ return shared;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setShared(Boolean newShared) {
+ Boolean oldShared = shared;
+ shared = newShared;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_ROUTER_REQUEST__SHARED, oldShared, shared));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExternalNetwork() {
+ return externalNetwork;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExternalNetwork(String newExternalNetwork) {
+ String oldExternalNetwork = externalNetwork;
+ externalNetwork = newExternalNetwork;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK, oldExternalNetwork, externalNetwork));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getPorts() {
+ if (ports == null) {
+ ports = new EDataTypeEList<String>(String.class, this, NeutronPackage.CREATE_ROUTER_REQUEST__PORTS);
+ }
+ return ports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getSubnets() {
+ if (subnets == null) {
+ subnets = new EDataTypeEList<String>(String.class, this, NeutronPackage.CREATE_ROUTER_REQUEST__SUBNETS);
+ }
+ return subnets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_ROUTER_REQUEST__NAME:
+ return getName();
+ case NeutronPackage.CREATE_ROUTER_REQUEST__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SHARED:
+ return getShared();
+ case NeutronPackage.CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK:
+ return getExternalNetwork();
+ case NeutronPackage.CREATE_ROUTER_REQUEST__PORTS:
+ return getPorts();
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SUBNETS:
+ return getSubnets();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_ROUTER_REQUEST__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SHARED:
+ setShared((Boolean)newValue);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK:
+ setExternalNetwork((String)newValue);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__PORTS:
+ getPorts().clear();
+ getPorts().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SUBNETS:
+ getSubnets().clear();
+ getSubnets().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_ROUTER_REQUEST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SHARED:
+ setShared(SHARED_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK:
+ setExternalNetwork(EXTERNAL_NETWORK_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__PORTS:
+ getPorts().clear();
+ return;
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SUBNETS:
+ getSubnets().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_ROUTER_REQUEST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.CREATE_ROUTER_REQUEST__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SHARED:
+ return SHARED_EDEFAULT == null ? shared != null : !SHARED_EDEFAULT.equals(shared);
+ case NeutronPackage.CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK:
+ return EXTERNAL_NETWORK_EDEFAULT == null ? externalNetwork != null : !EXTERNAL_NETWORK_EDEFAULT.equals(externalNetwork);
+ case NeutronPackage.CREATE_ROUTER_REQUEST__PORTS:
+ return ports != null && !ports.isEmpty();
+ case NeutronPackage.CREATE_ROUTER_REQUEST__SUBNETS:
+ return subnets != null && !subnets.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", shared: ");
+ result.append(shared);
+ result.append(", externalNetwork: ");
+ result.append(externalNetwork);
+ result.append(", ports: ");
+ result.append(ports);
+ result.append(", subnets: ");
+ result.append(subnets);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CreateRouterRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateSubnetRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateSubnetRequestImpl.java
new file mode 100644
index 0000000..ef8f399
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/CreateSubnetRequestImpl.java
@@ -0,0 +1,549 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.AllocationPool;
+import org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Subnet Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getNetwork_id <em>Network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getIp_version <em>Ip version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getCidr <em>Cidr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getAllocation_pools <em>Allocation pools</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getDns_nameservers <em>Dns nameservers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getEnable_dhcp <em>Enable dhcp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.CreateSubnetRequestImpl#getGateway_ip <em>Gateway ip</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CreateSubnetRequestImpl extends NeutronRequestImpl implements CreateSubnetRequest {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String NETWORK_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected String network_id = NETWORK_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIp_version() <em>Ip version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_version()
+ * @generated
+ * @ordered
+ */
+ protected static final int IP_VERSION_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getIp_version() <em>Ip version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_version()
+ * @generated
+ * @ordered
+ */
+ protected int ip_version = IP_VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCidr() <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCidr()
+ * @generated
+ * @ordered
+ */
+ protected static final String CIDR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCidr() <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCidr()
+ * @generated
+ * @ordered
+ */
+ protected String cidr = CIDR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAllocation_pools() <em>Allocation pools</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocation_pools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AllocationPool> allocation_pools;
+
+ /**
+ * The cached value of the '{@link #getDns_nameservers() <em>Dns nameservers</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDns_nameservers()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> dns_nameservers;
+
+ /**
+ * The default value of the '{@link #getEnable_dhcp() <em>Enable dhcp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnable_dhcp()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ENABLE_DHCP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnable_dhcp() <em>Enable dhcp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnable_dhcp()
+ * @generated
+ * @ordered
+ */
+ protected Boolean enable_dhcp = ENABLE_DHCP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getGateway_ip() <em>Gateway ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGateway_ip()
+ * @generated
+ * @ordered
+ */
+ protected static final String GATEWAY_IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGateway_ip() <em>Gateway ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGateway_ip()
+ * @generated
+ * @ordered
+ */
+ protected String gateway_ip = GATEWAY_IP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateSubnetRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.CREATE_SUBNET_REQUEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_SUBNET_REQUEST__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNetwork_id() {
+ return network_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNetwork_id(String newNetwork_id) {
+ String oldNetwork_id = network_id;
+ network_id = newNetwork_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_SUBNET_REQUEST__NETWORK_ID, oldNetwork_id, network_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getIp_version() {
+ return ip_version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIp_version(int newIp_version) {
+ int oldIp_version = ip_version;
+ ip_version = newIp_version;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_SUBNET_REQUEST__IP_VERSION, oldIp_version, ip_version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCidr() {
+ return cidr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCidr(String newCidr) {
+ String oldCidr = cidr;
+ cidr = newCidr;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_SUBNET_REQUEST__CIDR, oldCidr, cidr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AllocationPool> getAllocation_pools() {
+ if (allocation_pools == null) {
+ allocation_pools = new EObjectContainmentEList<AllocationPool>(AllocationPool.class, this, NeutronPackage.CREATE_SUBNET_REQUEST__ALLOCATION_POOLS);
+ }
+ return allocation_pools;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getDns_nameservers() {
+ if (dns_nameservers == null) {
+ dns_nameservers = new EDataTypeEList<String>(String.class, this, NeutronPackage.CREATE_SUBNET_REQUEST__DNS_NAMESERVERS);
+ }
+ return dns_nameservers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getEnable_dhcp() {
+ return enable_dhcp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnable_dhcp(Boolean newEnable_dhcp) {
+ Boolean oldEnable_dhcp = enable_dhcp;
+ enable_dhcp = newEnable_dhcp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_SUBNET_REQUEST__ENABLE_DHCP, oldEnable_dhcp, enable_dhcp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getGateway_ip() {
+ return gateway_ip;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGateway_ip(String newGateway_ip) {
+ String oldGateway_ip = gateway_ip;
+ gateway_ip = newGateway_ip;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.CREATE_SUBNET_REQUEST__GATEWAY_IP, oldGateway_ip, gateway_ip));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ALLOCATION_POOLS:
+ return ((InternalEList<?>)getAllocation_pools()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NAME:
+ return getName();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NETWORK_ID:
+ return getNetwork_id();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__IP_VERSION:
+ return getIp_version();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__CIDR:
+ return getCidr();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ALLOCATION_POOLS:
+ return getAllocation_pools();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__DNS_NAMESERVERS:
+ return getDns_nameservers();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ENABLE_DHCP:
+ return getEnable_dhcp();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__GATEWAY_IP:
+ return getGateway_ip();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NETWORK_ID:
+ setNetwork_id((String)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__IP_VERSION:
+ setIp_version((Integer)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__CIDR:
+ setCidr((String)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ALLOCATION_POOLS:
+ getAllocation_pools().clear();
+ getAllocation_pools().addAll((Collection<? extends AllocationPool>)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__DNS_NAMESERVERS:
+ getDns_nameservers().clear();
+ getDns_nameservers().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ENABLE_DHCP:
+ setEnable_dhcp((Boolean)newValue);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__GATEWAY_IP:
+ setGateway_ip((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NETWORK_ID:
+ setNetwork_id(NETWORK_ID_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__IP_VERSION:
+ setIp_version(IP_VERSION_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__CIDR:
+ setCidr(CIDR_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ALLOCATION_POOLS:
+ getAllocation_pools().clear();
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__DNS_NAMESERVERS:
+ getDns_nameservers().clear();
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ENABLE_DHCP:
+ setEnable_dhcp(ENABLE_DHCP_EDEFAULT);
+ return;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__GATEWAY_IP:
+ setGateway_ip(GATEWAY_IP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.CREATE_SUBNET_REQUEST__NETWORK_ID:
+ return NETWORK_ID_EDEFAULT == null ? network_id != null : !NETWORK_ID_EDEFAULT.equals(network_id);
+ case NeutronPackage.CREATE_SUBNET_REQUEST__IP_VERSION:
+ return ip_version != IP_VERSION_EDEFAULT;
+ case NeutronPackage.CREATE_SUBNET_REQUEST__CIDR:
+ return CIDR_EDEFAULT == null ? cidr != null : !CIDR_EDEFAULT.equals(cidr);
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ALLOCATION_POOLS:
+ return allocation_pools != null && !allocation_pools.isEmpty();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__DNS_NAMESERVERS:
+ return dns_nameservers != null && !dns_nameservers.isEmpty();
+ case NeutronPackage.CREATE_SUBNET_REQUEST__ENABLE_DHCP:
+ return ENABLE_DHCP_EDEFAULT == null ? enable_dhcp != null : !ENABLE_DHCP_EDEFAULT.equals(enable_dhcp);
+ case NeutronPackage.CREATE_SUBNET_REQUEST__GATEWAY_IP:
+ return GATEWAY_IP_EDEFAULT == null ? gateway_ip != null : !GATEWAY_IP_EDEFAULT.equals(gateway_ip);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", network_id: ");
+ result.append(network_id);
+ result.append(", ip_version: ");
+ result.append(ip_version);
+ result.append(", cidr: ");
+ result.append(cidr);
+ result.append(", dns_nameservers: ");
+ result.append(dns_nameservers);
+ result.append(", enable_dhcp: ");
+ result.append(enable_dhcp);
+ result.append(", gateway_ip: ");
+ result.append(gateway_ip);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CreateSubnetRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/ExternalGatewayImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/ExternalGatewayImpl.java
new file mode 100644
index 0000000..85e873b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/ExternalGatewayImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.ExternalGateway;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>External Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.ExternalGatewayImpl#getEnable_snat <em>Enable snat</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.ExternalGatewayImpl#getNetwork_id <em>Network id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExternalGatewayImpl extends MinimalEObjectImpl.Container implements ExternalGateway {
+ /**
+ * The default value of the '{@link #getEnable_snat() <em>Enable snat</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnable_snat()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ENABLE_SNAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnable_snat() <em>Enable snat</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnable_snat()
+ * @generated
+ * @ordered
+ */
+ protected Boolean enable_snat = ENABLE_SNAT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String NETWORK_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected String network_id = NETWORK_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExternalGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.EXTERNAL_GATEWAY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getEnable_snat() {
+ return enable_snat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnable_snat(Boolean newEnable_snat) {
+ Boolean oldEnable_snat = enable_snat;
+ enable_snat = newEnable_snat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.EXTERNAL_GATEWAY__ENABLE_SNAT, oldEnable_snat, enable_snat));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNetwork_id() {
+ return network_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNetwork_id(String newNetwork_id) {
+ String oldNetwork_id = network_id;
+ network_id = newNetwork_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.EXTERNAL_GATEWAY__NETWORK_ID, oldNetwork_id, network_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.EXTERNAL_GATEWAY__ENABLE_SNAT:
+ return getEnable_snat();
+ case NeutronPackage.EXTERNAL_GATEWAY__NETWORK_ID:
+ return getNetwork_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.EXTERNAL_GATEWAY__ENABLE_SNAT:
+ setEnable_snat((Boolean)newValue);
+ return;
+ case NeutronPackage.EXTERNAL_GATEWAY__NETWORK_ID:
+ setNetwork_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.EXTERNAL_GATEWAY__ENABLE_SNAT:
+ setEnable_snat(ENABLE_SNAT_EDEFAULT);
+ return;
+ case NeutronPackage.EXTERNAL_GATEWAY__NETWORK_ID:
+ setNetwork_id(NETWORK_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.EXTERNAL_GATEWAY__ENABLE_SNAT:
+ return ENABLE_SNAT_EDEFAULT == null ? enable_snat != null : !ENABLE_SNAT_EDEFAULT.equals(enable_snat);
+ case NeutronPackage.EXTERNAL_GATEWAY__NETWORK_ID:
+ return NETWORK_ID_EDEFAULT == null ? network_id != null : !NETWORK_ID_EDEFAULT.equals(network_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (enable_snat: ");
+ result.append(enable_snat);
+ result.append(", network_id: ");
+ result.append(network_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExternalGatewayImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/FixedIpImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/FixedIpImpl.java
new file mode 100644
index 0000000..e61d5df
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/FixedIpImpl.java
@@ -0,0 +1,238 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.FixedIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fixed Ip</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.FixedIpImpl#getIp_address <em>Ip address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.FixedIpImpl#getSubnet_id <em>Subnet id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FixedIpImpl extends MinimalEObjectImpl.Container implements FixedIp {
+ /**
+ * The default value of the '{@link #getIp_address() <em>Ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_address()
+ * @generated
+ * @ordered
+ */
+ protected static final String IP_ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIp_address() <em>Ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_address()
+ * @generated
+ * @ordered
+ */
+ protected String ip_address = IP_ADDRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSubnet_id() <em>Subnet id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubnet_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUBNET_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSubnet_id() <em>Subnet id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubnet_id()
+ * @generated
+ * @ordered
+ */
+ protected String subnet_id = SUBNET_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FixedIpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.FIXED_IP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIp_address() {
+ return ip_address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIp_address(String newIp_address) {
+ String oldIp_address = ip_address;
+ ip_address = newIp_address;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.FIXED_IP__IP_ADDRESS, oldIp_address, ip_address));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSubnet_id() {
+ return subnet_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSubnet_id(String newSubnet_id) {
+ String oldSubnet_id = subnet_id;
+ subnet_id = newSubnet_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.FIXED_IP__SUBNET_ID, oldSubnet_id, subnet_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.FIXED_IP__IP_ADDRESS:
+ return getIp_address();
+ case NeutronPackage.FIXED_IP__SUBNET_ID:
+ return getSubnet_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.FIXED_IP__IP_ADDRESS:
+ setIp_address((String)newValue);
+ return;
+ case NeutronPackage.FIXED_IP__SUBNET_ID:
+ setSubnet_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.FIXED_IP__IP_ADDRESS:
+ setIp_address(IP_ADDRESS_EDEFAULT);
+ return;
+ case NeutronPackage.FIXED_IP__SUBNET_ID:
+ setSubnet_id(SUBNET_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.FIXED_IP__IP_ADDRESS:
+ return IP_ADDRESS_EDEFAULT == null ? ip_address != null : !IP_ADDRESS_EDEFAULT.equals(ip_address);
+ case NeutronPackage.FIXED_IP__SUBNET_ID:
+ return SUBNET_ID_EDEFAULT == null ? subnet_id != null : !SUBNET_ID_EDEFAULT.equals(subnet_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ip_address: ");
+ result.append(ip_address);
+ result.append(", subnet_id: ");
+ result.append(subnet_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FixedIpImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NetworkImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NetworkImpl.java
new file mode 100644
index 0000000..ea878d3
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NetworkImpl.java
@@ -0,0 +1,712 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Network</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getProvider_network_type <em>Provider network type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getProvider_physical_network <em>Provider physical network</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getProvider_segmentation_id <em>Provider segmentation id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getRouter_external <em>Router external</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getShared <em>Shared</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getSubnets <em>Subnets</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NetworkImpl#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NetworkImpl extends NeutronObjectImpl implements Network {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProvider_network_type() <em>Provider network type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider_network_type()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROVIDER_NETWORK_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProvider_network_type() <em>Provider network type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider_network_type()
+ * @generated
+ * @ordered
+ */
+ protected String provider_network_type = PROVIDER_NETWORK_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProvider_physical_network() <em>Provider physical network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider_physical_network()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROVIDER_PHYSICAL_NETWORK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProvider_physical_network() <em>Provider physical network</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider_physical_network()
+ * @generated
+ * @ordered
+ */
+ protected String provider_physical_network = PROVIDER_PHYSICAL_NETWORK_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProvider_segmentation_id() <em>Provider segmentation id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider_segmentation_id()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PROVIDER_SEGMENTATION_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProvider_segmentation_id() <em>Provider segmentation id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider_segmentation_id()
+ * @generated
+ * @ordered
+ */
+ protected Integer provider_segmentation_id = PROVIDER_SEGMENTATION_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRouter_external() <em>Router external</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRouter_external()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ROUTER_EXTERNAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRouter_external() <em>Router external</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRouter_external()
+ * @generated
+ * @ordered
+ */
+ protected Boolean router_external = ROUTER_EXTERNAL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShared() <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShared()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean SHARED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShared() <em>Shared</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShared()
+ * @generated
+ * @ordered
+ */
+ protected Boolean shared = SHARED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSubnets() <em>Subnets</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubnets()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> subnets;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NetworkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NETWORK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProvider_network_type() {
+ return provider_network_type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProvider_network_type(String newProvider_network_type) {
+ String oldProvider_network_type = provider_network_type;
+ provider_network_type = newProvider_network_type;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__PROVIDER_NETWORK_TYPE, oldProvider_network_type, provider_network_type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProvider_physical_network() {
+ return provider_physical_network;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProvider_physical_network(String newProvider_physical_network) {
+ String oldProvider_physical_network = provider_physical_network;
+ provider_physical_network = newProvider_physical_network;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__PROVIDER_PHYSICAL_NETWORK, oldProvider_physical_network, provider_physical_network));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getProvider_segmentation_id() {
+ return provider_segmentation_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProvider_segmentation_id(Integer newProvider_segmentation_id) {
+ Integer oldProvider_segmentation_id = provider_segmentation_id;
+ provider_segmentation_id = newProvider_segmentation_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__PROVIDER_SEGMENTATION_ID, oldProvider_segmentation_id, provider_segmentation_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getRouter_external() {
+ return router_external;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRouter_external(Boolean newRouter_external) {
+ Boolean oldRouter_external = router_external;
+ router_external = newRouter_external;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__ROUTER_EXTERNAL, oldRouter_external, router_external));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getShared() {
+ return shared;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setShared(Boolean newShared) {
+ Boolean oldShared = shared;
+ shared = newShared;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__SHARED, oldShared, shared));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getSubnets() {
+ if (subnets == null) {
+ subnets = new EDataTypeEList<String>(String.class, this, NeutronPackage.NETWORK__SUBNETS);
+ }
+ return subnets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NETWORK__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.NETWORK__ID:
+ return getId();
+ case NeutronPackage.NETWORK__NAME:
+ return getName();
+ case NeutronPackage.NETWORK__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.NETWORK__PROVIDER_NETWORK_TYPE:
+ return getProvider_network_type();
+ case NeutronPackage.NETWORK__PROVIDER_PHYSICAL_NETWORK:
+ return getProvider_physical_network();
+ case NeutronPackage.NETWORK__PROVIDER_SEGMENTATION_ID:
+ return getProvider_segmentation_id();
+ case NeutronPackage.NETWORK__ROUTER_EXTERNAL:
+ return getRouter_external();
+ case NeutronPackage.NETWORK__SHARED:
+ return getShared();
+ case NeutronPackage.NETWORK__STATUS:
+ return getStatus();
+ case NeutronPackage.NETWORK__SUBNETS:
+ return getSubnets();
+ case NeutronPackage.NETWORK__TENANT_ID:
+ return getTenant_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.NETWORK__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.NETWORK__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.NETWORK__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.NETWORK__PROVIDER_NETWORK_TYPE:
+ setProvider_network_type((String)newValue);
+ return;
+ case NeutronPackage.NETWORK__PROVIDER_PHYSICAL_NETWORK:
+ setProvider_physical_network((String)newValue);
+ return;
+ case NeutronPackage.NETWORK__PROVIDER_SEGMENTATION_ID:
+ setProvider_segmentation_id((Integer)newValue);
+ return;
+ case NeutronPackage.NETWORK__ROUTER_EXTERNAL:
+ setRouter_external((Boolean)newValue);
+ return;
+ case NeutronPackage.NETWORK__SHARED:
+ setShared((Boolean)newValue);
+ return;
+ case NeutronPackage.NETWORK__STATUS:
+ setStatus((String)newValue);
+ return;
+ case NeutronPackage.NETWORK__SUBNETS:
+ getSubnets().clear();
+ getSubnets().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.NETWORK__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NETWORK__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__PROVIDER_NETWORK_TYPE:
+ setProvider_network_type(PROVIDER_NETWORK_TYPE_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__PROVIDER_PHYSICAL_NETWORK:
+ setProvider_physical_network(PROVIDER_PHYSICAL_NETWORK_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__PROVIDER_SEGMENTATION_ID:
+ setProvider_segmentation_id(PROVIDER_SEGMENTATION_ID_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__ROUTER_EXTERNAL:
+ setRouter_external(ROUTER_EXTERNAL_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__SHARED:
+ setShared(SHARED_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case NeutronPackage.NETWORK__SUBNETS:
+ getSubnets().clear();
+ return;
+ case NeutronPackage.NETWORK__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NETWORK__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.NETWORK__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.NETWORK__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.NETWORK__PROVIDER_NETWORK_TYPE:
+ return PROVIDER_NETWORK_TYPE_EDEFAULT == null ? provider_network_type != null : !PROVIDER_NETWORK_TYPE_EDEFAULT.equals(provider_network_type);
+ case NeutronPackage.NETWORK__PROVIDER_PHYSICAL_NETWORK:
+ return PROVIDER_PHYSICAL_NETWORK_EDEFAULT == null ? provider_physical_network != null : !PROVIDER_PHYSICAL_NETWORK_EDEFAULT.equals(provider_physical_network);
+ case NeutronPackage.NETWORK__PROVIDER_SEGMENTATION_ID:
+ return PROVIDER_SEGMENTATION_ID_EDEFAULT == null ? provider_segmentation_id != null : !PROVIDER_SEGMENTATION_ID_EDEFAULT.equals(provider_segmentation_id);
+ case NeutronPackage.NETWORK__ROUTER_EXTERNAL:
+ return ROUTER_EXTERNAL_EDEFAULT == null ? router_external != null : !ROUTER_EXTERNAL_EDEFAULT.equals(router_external);
+ case NeutronPackage.NETWORK__SHARED:
+ return SHARED_EDEFAULT == null ? shared != null : !SHARED_EDEFAULT.equals(shared);
+ case NeutronPackage.NETWORK__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case NeutronPackage.NETWORK__SUBNETS:
+ return subnets != null && !subnets.isEmpty();
+ case NeutronPackage.NETWORK__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", provider_network_type: ");
+ result.append(provider_network_type);
+ result.append(", provider_physical_network: ");
+ result.append(provider_physical_network);
+ result.append(", provider_segmentation_id: ");
+ result.append(provider_segmentation_id);
+ result.append(", router_external: ");
+ result.append(router_external);
+ result.append(", shared: ");
+ result.append(shared);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", subnets: ");
+ result.append(subnets);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NetworkImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFactoryImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFactoryImpl.java
new file mode 100644
index 0000000..c2450c3
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFactoryImpl.java
@@ -0,0 +1,281 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NeutronFactoryImpl extends EFactoryImpl implements NeutronFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NeutronFactory init() {
+ try {
+ NeutronFactory theNeutronFactory = (NeutronFactory)EPackage.Registry.INSTANCE.getEFactory(NeutronPackage.eNS_URI);
+ if (theNeutronFactory != null) {
+ return theNeutronFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NeutronFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NeutronPackage.NETWORK: return createNetwork();
+ case NeutronPackage.SUBNET: return createSubnet();
+ case NeutronPackage.ALLOCATION_POOL: return createAllocationPool();
+ case NeutronPackage.ROUTER: return createRouter();
+ case NeutronPackage.PORT: return createPort();
+ case NeutronPackage.NEUTRON_SECURITY_GROUP: return createNeutronSecurityGroup();
+ case NeutronPackage.NEUTRON_SECURITY_RULE: return createNeutronSecurityRule();
+ case NeutronPackage.NEUTRON_FLOATING_IP: return createNeutronFloatingIp();
+ case NeutronPackage.BINDING_PROFILE: return createBindingProfile();
+ case NeutronPackage.BINDING_VIF_DETAIL: return createBindingVifDetail();
+ case NeutronPackage.FIXED_IP: return createFixedIp();
+ case NeutronPackage.EXTERNAL_GATEWAY: return createExternalGateway();
+ case NeutronPackage.CREATE_NETWORK_REQUEST: return createCreateNetworkRequest();
+ case NeutronPackage.CREATE_SUBNET_REQUEST: return createCreateSubnetRequest();
+ case NeutronPackage.CREATE_ROUTER_REQUEST: return createCreateRouterRequest();
+ case NeutronPackage.CREATE_PORT_REQUEST: return createCreatePortRequest();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Network createNetwork() {
+ NetworkImpl network = new NetworkImpl();
+ return network;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Subnet createSubnet() {
+ SubnetImpl subnet = new SubnetImpl();
+ return subnet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocationPool createAllocationPool() {
+ AllocationPoolImpl allocationPool = new AllocationPoolImpl();
+ return allocationPool;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Router createRouter() {
+ RouterImpl router = new RouterImpl();
+ return router;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port createPort() {
+ PortImpl port = new PortImpl();
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronSecurityGroup createNeutronSecurityGroup() {
+ NeutronSecurityGroupImpl neutronSecurityGroup = new NeutronSecurityGroupImpl();
+ return neutronSecurityGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronSecurityRule createNeutronSecurityRule() {
+ NeutronSecurityRuleImpl neutronSecurityRule = new NeutronSecurityRuleImpl();
+ return neutronSecurityRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronFloatingIp createNeutronFloatingIp() {
+ NeutronFloatingIpImpl neutronFloatingIp = new NeutronFloatingIpImpl();
+ return neutronFloatingIp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingProfile createBindingProfile() {
+ BindingProfileImpl bindingProfile = new BindingProfileImpl();
+ return bindingProfile;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingVifDetail createBindingVifDetail() {
+ BindingVifDetailImpl bindingVifDetail = new BindingVifDetailImpl();
+ return bindingVifDetail;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FixedIp createFixedIp() {
+ FixedIpImpl fixedIp = new FixedIpImpl();
+ return fixedIp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExternalGateway createExternalGateway() {
+ ExternalGatewayImpl externalGateway = new ExternalGatewayImpl();
+ return externalGateway;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateNetworkRequest createCreateNetworkRequest() {
+ CreateNetworkRequestImpl createNetworkRequest = new CreateNetworkRequestImpl();
+ return createNetworkRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateSubnetRequest createCreateSubnetRequest() {
+ CreateSubnetRequestImpl createSubnetRequest = new CreateSubnetRequestImpl();
+ return createSubnetRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateRouterRequest createCreateRouterRequest() {
+ CreateRouterRequestImpl createRouterRequest = new CreateRouterRequestImpl();
+ return createRouterRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreatePortRequest createCreatePortRequest() {
+ CreatePortRequestImpl createPortRequest = new CreatePortRequestImpl();
+ return createPortRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronPackage getNeutronPackage() {
+ return (NeutronPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NeutronPackage getPackage() {
+ return NeutronPackage.eINSTANCE;
+ }
+
+} //NeutronFactoryImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFloatingIpImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFloatingIpImpl.java
new file mode 100644
index 0000000..7e4e1fb
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronFloatingIpImpl.java
@@ -0,0 +1,615 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Floating Ip</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getFloating_network_id <em>Floating network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getRouter_id <em>Router id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getFixed_ip_address <em>Fixed ip address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getFloating_ip_address <em>Floating ip address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronFloatingIpImpl#getPort_id <em>Port id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NeutronFloatingIpImpl extends NeutronObjectImpl implements NeutronFloatingIp {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFloating_network_id() <em>Floating network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloating_network_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String FLOATING_NETWORK_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFloating_network_id() <em>Floating network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloating_network_id()
+ * @generated
+ * @ordered
+ */
+ protected String floating_network_id = FLOATING_NETWORK_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRouter_id() <em>Router id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRouter_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String ROUTER_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRouter_id() <em>Router id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRouter_id()
+ * @generated
+ * @ordered
+ */
+ protected String router_id = ROUTER_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFixed_ip_address() <em>Fixed ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFixed_ip_address()
+ * @generated
+ * @ordered
+ */
+ protected static final String FIXED_IP_ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFixed_ip_address() <em>Fixed ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFixed_ip_address()
+ * @generated
+ * @ordered
+ */
+ protected String fixed_ip_address = FIXED_IP_ADDRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFloating_ip_address() <em>Floating ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloating_ip_address()
+ * @generated
+ * @ordered
+ */
+ protected static final String FLOATING_IP_ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFloating_ip_address() <em>Floating ip address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFloating_ip_address()
+ * @generated
+ * @ordered
+ */
+ protected String floating_ip_address = FLOATING_IP_ADDRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPort_id() <em>Port id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String PORT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPort_id() <em>Port id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_id()
+ * @generated
+ * @ordered
+ */
+ protected String port_id = PORT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronFloatingIpImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NEUTRON_FLOATING_IP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFloating_network_id() {
+ return floating_network_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFloating_network_id(String newFloating_network_id) {
+ String oldFloating_network_id = floating_network_id;
+ floating_network_id = newFloating_network_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID, oldFloating_network_id, floating_network_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRouter_id() {
+ return router_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRouter_id(String newRouter_id) {
+ String oldRouter_id = router_id;
+ router_id = newRouter_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__ROUTER_ID, oldRouter_id, router_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFixed_ip_address() {
+ return fixed_ip_address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFixed_ip_address(String newFixed_ip_address) {
+ String oldFixed_ip_address = fixed_ip_address;
+ fixed_ip_address = newFixed_ip_address;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS, oldFixed_ip_address, fixed_ip_address));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFloating_ip_address() {
+ return floating_ip_address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFloating_ip_address(String newFloating_ip_address) {
+ String oldFloating_ip_address = floating_ip_address;
+ floating_ip_address = newFloating_ip_address;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS, oldFloating_ip_address, floating_ip_address));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPort_id() {
+ return port_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort_id(String newPort_id) {
+ String oldPort_id = port_id;
+ port_id = newPort_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_FLOATING_IP__PORT_ID, oldPort_id, port_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_FLOATING_IP__ID:
+ return getId();
+ case NeutronPackage.NEUTRON_FLOATING_IP__NAME:
+ return getName();
+ case NeutronPackage.NEUTRON_FLOATING_IP__STATUS:
+ return getStatus();
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID:
+ return getFloating_network_id();
+ case NeutronPackage.NEUTRON_FLOATING_IP__ROUTER_ID:
+ return getRouter_id();
+ case NeutronPackage.NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS:
+ return getFixed_ip_address();
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS:
+ return getFloating_ip_address();
+ case NeutronPackage.NEUTRON_FLOATING_IP__TENANT_ID:
+ return getTenant_id();
+ case NeutronPackage.NEUTRON_FLOATING_IP__PORT_ID:
+ return getPort_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_FLOATING_IP__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__STATUS:
+ setStatus((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID:
+ setFloating_network_id((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__ROUTER_ID:
+ setRouter_id((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS:
+ setFixed_ip_address((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS:
+ setFloating_ip_address((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__PORT_ID:
+ setPort_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_FLOATING_IP__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID:
+ setFloating_network_id(FLOATING_NETWORK_ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__ROUTER_ID:
+ setRouter_id(ROUTER_ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS:
+ setFixed_ip_address(FIXED_IP_ADDRESS_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS:
+ setFloating_ip_address(FLOATING_IP_ADDRESS_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_FLOATING_IP__PORT_ID:
+ setPort_id(PORT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_FLOATING_IP__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.NEUTRON_FLOATING_IP__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.NEUTRON_FLOATING_IP__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID:
+ return FLOATING_NETWORK_ID_EDEFAULT == null ? floating_network_id != null : !FLOATING_NETWORK_ID_EDEFAULT.equals(floating_network_id);
+ case NeutronPackage.NEUTRON_FLOATING_IP__ROUTER_ID:
+ return ROUTER_ID_EDEFAULT == null ? router_id != null : !ROUTER_ID_EDEFAULT.equals(router_id);
+ case NeutronPackage.NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS:
+ return FIXED_IP_ADDRESS_EDEFAULT == null ? fixed_ip_address != null : !FIXED_IP_ADDRESS_EDEFAULT.equals(fixed_ip_address);
+ case NeutronPackage.NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS:
+ return FLOATING_IP_ADDRESS_EDEFAULT == null ? floating_ip_address != null : !FLOATING_IP_ADDRESS_EDEFAULT.equals(floating_ip_address);
+ case NeutronPackage.NEUTRON_FLOATING_IP__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ case NeutronPackage.NEUTRON_FLOATING_IP__PORT_ID:
+ return PORT_ID_EDEFAULT == null ? port_id != null : !PORT_ID_EDEFAULT.equals(port_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", floating_network_id: ");
+ result.append(floating_network_id);
+ result.append(", router_id: ");
+ result.append(router_id);
+ result.append(", fixed_ip_address: ");
+ result.append(fixed_ip_address);
+ result.append(", floating_ip_address: ");
+ result.append(floating_ip_address);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(", port_id: ");
+ result.append(port_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NeutronFloatingIpImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronObjectImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronObjectImpl.java
new file mode 100644
index 0000000..7a5b76e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronObjectImpl.java
@@ -0,0 +1,62 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronObject;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class NeutronObjectImpl extends MinimalEObjectImpl.Container implements NeutronObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronObjectImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NEUTRON_OBJECT;
+ }
+
+} //NeutronObjectImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronPackageImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronPackageImpl.java
new file mode 100644
index 0000000..d105474
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronPackageImpl.java
@@ -0,0 +1,1962 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.core.CorePackage;
+
+import org.openecomp.ncomp.openstack.neutron.AllocationPool;
+import org.openecomp.ncomp.openstack.neutron.BindingProfile;
+import org.openecomp.ncomp.openstack.neutron.BindingVifDetail;
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.CreatePortRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateRouterRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest;
+import org.openecomp.ncomp.openstack.neutron.ExternalGateway;
+import org.openecomp.ncomp.openstack.neutron.FixedIp;
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronFactory;
+import org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronObject;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronRequest;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule;
+import org.openecomp.ncomp.openstack.neutron.NeutronService;
+import org.openecomp.ncomp.openstack.neutron.Port;
+import org.openecomp.ncomp.openstack.neutron.Router;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NeutronPackageImpl extends EPackageImpl implements NeutronPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass neutronServiceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass neutronObjectEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass networkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass subnetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass allocationPoolEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass routerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass portEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass neutronSecurityGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass neutronSecurityRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass neutronFloatingIpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bindingProfileEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bindingVifDetailEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fixedIpEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass externalGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass neutronRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createNetworkRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createSubnetRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createRouterRequestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createPortRequestEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private NeutronPackageImpl() {
+ super(eNS_URI, NeutronFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link NeutronPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static NeutronPackage init() {
+ if (isInited) return (NeutronPackage)EPackage.Registry.INSTANCE.getEPackage(NeutronPackage.eNS_URI);
+
+ // Obtain or create and register package
+ NeutronPackageImpl theNeutronPackage = (NeutronPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof NeutronPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new NeutronPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CorePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theNeutronPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theNeutronPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theNeutronPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(NeutronPackage.eNS_URI, theNeutronPackage);
+ return theNeutronPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNeutronService() {
+ return neutronServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__CreateNetwork__CreateNetworkRequest() {
+ return neutronServiceEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__CreateSubnet__CreateSubnetRequest() {
+ return neutronServiceEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__CreatePort__CreatePortRequest() {
+ return neutronServiceEClass.getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__CreateRouter__CreateRouterRequest() {
+ return neutronServiceEClass.getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__DeleteNetwork__String_String() {
+ return neutronServiceEClass.getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__DeleteSubnet__String_String() {
+ return neutronServiceEClass.getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__DeletePort__String_String() {
+ return neutronServiceEClass.getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__DeleteRouter__String_String() {
+ return neutronServiceEClass.getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNeutronService__AssociateFloatingIp__String_String_String() {
+ return neutronServiceEClass.getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNeutronObject() {
+ return neutronObjectEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNetwork() {
+ return networkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Id() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Name() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Admin_state_up() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Provider_network_type() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Provider_physical_network() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Provider_segmentation_id() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Router_external() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Shared() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Status() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Subnets() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNetwork_Tenant_id() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSubnet() {
+ return subnetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Id() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Name() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Status() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Admin_state_up() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Cidr() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubnet_Allocation_pools() {
+ return (EReference)subnetEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Dns_nameservers() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Enable_dhcp() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Gateway_ip() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Host_routes() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Ip_version() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Network_id() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubnet_Tenant_id() {
+ return (EAttribute)subnetEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAllocationPool() {
+ return allocationPoolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAllocationPool_Start() {
+ return (EAttribute)allocationPoolEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAllocationPool_End() {
+ return (EAttribute)allocationPoolEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRouter() {
+ return routerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRouter_Id() {
+ return (EAttribute)routerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRouter_Name() {
+ return (EAttribute)routerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRouter_Status() {
+ return (EAttribute)routerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRouter_Admin_state_up() {
+ return (EAttribute)routerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRouter_External_gateway_info() {
+ return (EReference)routerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRouter_Tenant_id() {
+ return (EAttribute)routerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPort() {
+ return portEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Id() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Name() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Status() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Admin_state_up() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_External_gateway_info() {
+ return (EReference)portEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Tenant_id() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Allowed_address_pairs() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Binding_host_id() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_Binding_profile() {
+ return (EReference)portEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_Binding_vif_details() {
+ return (EReference)portEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Binding_vif_type() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Binding_vnic_type() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Device_id() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Device_owner() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Extra_dhcp_opts() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_Fixed_ips() {
+ return (EReference)portEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Mac_address() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Network_id() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_Security_groups() {
+ return (EAttribute)portEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNeutronSecurityGroup() {
+ return neutronSecurityGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityGroup_Id() {
+ return (EAttribute)neutronSecurityGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityGroup_Name() {
+ return (EAttribute)neutronSecurityGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityGroup_Description() {
+ return (EAttribute)neutronSecurityGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNeutronSecurityGroup_Security_group_rules() {
+ return (EReference)neutronSecurityGroupEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityGroup_Tenant_id() {
+ return (EAttribute)neutronSecurityGroupEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNeutronSecurityRule() {
+ return neutronSecurityRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Id() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Direction() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Ethertype() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Port_range_min() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Port_range_max() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Protocol() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Remote_group_id() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Remote_ip_prefix() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Security_group_id() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronSecurityRule_Tenant_id() {
+ return (EAttribute)neutronSecurityRuleEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNeutronFloatingIp() {
+ return neutronFloatingIpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Id() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Name() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Status() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Floating_network_id() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Router_id() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Fixed_ip_address() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Floating_ip_address() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Tenant_id() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNeutronFloatingIp_Port_id() {
+ return (EAttribute)neutronFloatingIpEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBindingProfile() {
+ return bindingProfileEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBindingVifDetail() {
+ return bindingVifDetailEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBindingVifDetail_Ovs_hybrid_plug() {
+ return (EAttribute)bindingVifDetailEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBindingVifDetail_Port_filter() {
+ return (EAttribute)bindingVifDetailEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFixedIp() {
+ return fixedIpEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFixedIp_Ip_address() {
+ return (EAttribute)fixedIpEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFixedIp_Subnet_id() {
+ return (EAttribute)fixedIpEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExternalGateway() {
+ return externalGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExternalGateway_Enable_snat() {
+ return (EAttribute)externalGatewayEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExternalGateway_Network_id() {
+ return (EAttribute)externalGatewayEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNeutronRequest() {
+ return neutronRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateNetworkRequest() {
+ return createNetworkRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateNetworkRequest_Name() {
+ return (EAttribute)createNetworkRequestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateNetworkRequest_ProviderNetworkType() {
+ return (EAttribute)createNetworkRequestEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateNetworkRequest_ProviderPhysicalNetwork() {
+ return (EAttribute)createNetworkRequestEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateNetworkRequest_ProviderSegmentationId() {
+ return (EAttribute)createNetworkRequestEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateNetworkRequest_Admin_state_up() {
+ return (EAttribute)createNetworkRequestEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateNetworkRequest_Shared() {
+ return (EAttribute)createNetworkRequestEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateSubnetRequest() {
+ return createSubnetRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Name() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Network_id() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Ip_version() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Cidr() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCreateSubnetRequest_Allocation_pools() {
+ return (EReference)createSubnetRequestEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Dns_nameservers() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Enable_dhcp() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateSubnetRequest_Gateway_ip() {
+ return (EAttribute)createSubnetRequestEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateRouterRequest() {
+ return createRouterRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateRouterRequest_Name() {
+ return (EAttribute)createRouterRequestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateRouterRequest_Admin_state_up() {
+ return (EAttribute)createRouterRequestEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateRouterRequest_Shared() {
+ return (EAttribute)createRouterRequestEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateRouterRequest_ExternalNetwork() {
+ return (EAttribute)createRouterRequestEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateRouterRequest_Ports() {
+ return (EAttribute)createRouterRequestEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreateRouterRequest_Subnets() {
+ return (EAttribute)createRouterRequestEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreatePortRequest() {
+ return createPortRequestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreatePortRequest_Name() {
+ return (EAttribute)createPortRequestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreatePortRequest_BindingVnicType() {
+ return (EAttribute)createPortRequestEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreatePortRequest_Status() {
+ return (EAttribute)createPortRequestEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreatePortRequest_Admin_state_up() {
+ return (EAttribute)createPortRequestEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCreatePortRequest_Fixed_ips() {
+ return (EReference)createPortRequestEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreatePortRequest_Mac_address() {
+ return (EAttribute)createPortRequestEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCreatePortRequest_Network_id() {
+ return (EAttribute)createPortRequestEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronFactory getNeutronFactory() {
+ return (NeutronFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ neutronServiceEClass = createEClass(NEUTRON_SERVICE);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___CREATE_NETWORK__CREATENETWORKREQUEST);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___CREATE_SUBNET__CREATESUBNETREQUEST);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___CREATE_PORT__CREATEPORTREQUEST);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___CREATE_ROUTER__CREATEROUTERREQUEST);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___DELETE_NETWORK__STRING_STRING);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___DELETE_SUBNET__STRING_STRING);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___DELETE_PORT__STRING_STRING);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___DELETE_ROUTER__STRING_STRING);
+ createEOperation(neutronServiceEClass, NEUTRON_SERVICE___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING);
+
+ neutronObjectEClass = createEClass(NEUTRON_OBJECT);
+
+ networkEClass = createEClass(NETWORK);
+ createEAttribute(networkEClass, NETWORK__ID);
+ createEAttribute(networkEClass, NETWORK__NAME);
+ createEAttribute(networkEClass, NETWORK__ADMIN_STATE_UP);
+ createEAttribute(networkEClass, NETWORK__PROVIDER_NETWORK_TYPE);
+ createEAttribute(networkEClass, NETWORK__PROVIDER_PHYSICAL_NETWORK);
+ createEAttribute(networkEClass, NETWORK__PROVIDER_SEGMENTATION_ID);
+ createEAttribute(networkEClass, NETWORK__ROUTER_EXTERNAL);
+ createEAttribute(networkEClass, NETWORK__SHARED);
+ createEAttribute(networkEClass, NETWORK__STATUS);
+ createEAttribute(networkEClass, NETWORK__SUBNETS);
+ createEAttribute(networkEClass, NETWORK__TENANT_ID);
+
+ subnetEClass = createEClass(SUBNET);
+ createEAttribute(subnetEClass, SUBNET__ID);
+ createEAttribute(subnetEClass, SUBNET__NAME);
+ createEAttribute(subnetEClass, SUBNET__STATUS);
+ createEAttribute(subnetEClass, SUBNET__ADMIN_STATE_UP);
+ createEAttribute(subnetEClass, SUBNET__CIDR);
+ createEReference(subnetEClass, SUBNET__ALLOCATION_POOLS);
+ createEAttribute(subnetEClass, SUBNET__DNS_NAMESERVERS);
+ createEAttribute(subnetEClass, SUBNET__ENABLE_DHCP);
+ createEAttribute(subnetEClass, SUBNET__GATEWAY_IP);
+ createEAttribute(subnetEClass, SUBNET__HOST_ROUTES);
+ createEAttribute(subnetEClass, SUBNET__IP_VERSION);
+ createEAttribute(subnetEClass, SUBNET__NETWORK_ID);
+ createEAttribute(subnetEClass, SUBNET__TENANT_ID);
+
+ allocationPoolEClass = createEClass(ALLOCATION_POOL);
+ createEAttribute(allocationPoolEClass, ALLOCATION_POOL__START);
+ createEAttribute(allocationPoolEClass, ALLOCATION_POOL__END);
+
+ routerEClass = createEClass(ROUTER);
+ createEAttribute(routerEClass, ROUTER__ID);
+ createEAttribute(routerEClass, ROUTER__NAME);
+ createEAttribute(routerEClass, ROUTER__STATUS);
+ createEAttribute(routerEClass, ROUTER__ADMIN_STATE_UP);
+ createEReference(routerEClass, ROUTER__EXTERNAL_GATEWAY_INFO);
+ createEAttribute(routerEClass, ROUTER__TENANT_ID);
+
+ portEClass = createEClass(PORT);
+ createEAttribute(portEClass, PORT__ID);
+ createEAttribute(portEClass, PORT__NAME);
+ createEAttribute(portEClass, PORT__STATUS);
+ createEAttribute(portEClass, PORT__ADMIN_STATE_UP);
+ createEReference(portEClass, PORT__EXTERNAL_GATEWAY_INFO);
+ createEAttribute(portEClass, PORT__TENANT_ID);
+ createEAttribute(portEClass, PORT__ALLOWED_ADDRESS_PAIRS);
+ createEAttribute(portEClass, PORT__BINDING_HOST_ID);
+ createEReference(portEClass, PORT__BINDING_PROFILE);
+ createEReference(portEClass, PORT__BINDING_VIF_DETAILS);
+ createEAttribute(portEClass, PORT__BINDING_VIF_TYPE);
+ createEAttribute(portEClass, PORT__BINDING_VNIC_TYPE);
+ createEAttribute(portEClass, PORT__DEVICE_ID);
+ createEAttribute(portEClass, PORT__DEVICE_OWNER);
+ createEAttribute(portEClass, PORT__EXTRA_DHCP_OPTS);
+ createEReference(portEClass, PORT__FIXED_IPS);
+ createEAttribute(portEClass, PORT__MAC_ADDRESS);
+ createEAttribute(portEClass, PORT__NETWORK_ID);
+ createEAttribute(portEClass, PORT__SECURITY_GROUPS);
+
+ neutronSecurityGroupEClass = createEClass(NEUTRON_SECURITY_GROUP);
+ createEAttribute(neutronSecurityGroupEClass, NEUTRON_SECURITY_GROUP__ID);
+ createEAttribute(neutronSecurityGroupEClass, NEUTRON_SECURITY_GROUP__NAME);
+ createEAttribute(neutronSecurityGroupEClass, NEUTRON_SECURITY_GROUP__DESCRIPTION);
+ createEReference(neutronSecurityGroupEClass, NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES);
+ createEAttribute(neutronSecurityGroupEClass, NEUTRON_SECURITY_GROUP__TENANT_ID);
+
+ neutronSecurityRuleEClass = createEClass(NEUTRON_SECURITY_RULE);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__ID);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__DIRECTION);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__ETHERTYPE);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__PORT_RANGE_MIN);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__PORT_RANGE_MAX);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__PROTOCOL);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID);
+ createEAttribute(neutronSecurityRuleEClass, NEUTRON_SECURITY_RULE__TENANT_ID);
+
+ neutronFloatingIpEClass = createEClass(NEUTRON_FLOATING_IP);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__ID);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__NAME);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__STATUS);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__FLOATING_NETWORK_ID);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__ROUTER_ID);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__FIXED_IP_ADDRESS);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__FLOATING_IP_ADDRESS);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__TENANT_ID);
+ createEAttribute(neutronFloatingIpEClass, NEUTRON_FLOATING_IP__PORT_ID);
+
+ bindingProfileEClass = createEClass(BINDING_PROFILE);
+
+ bindingVifDetailEClass = createEClass(BINDING_VIF_DETAIL);
+ createEAttribute(bindingVifDetailEClass, BINDING_VIF_DETAIL__OVS_HYBRID_PLUG);
+ createEAttribute(bindingVifDetailEClass, BINDING_VIF_DETAIL__PORT_FILTER);
+
+ fixedIpEClass = createEClass(FIXED_IP);
+ createEAttribute(fixedIpEClass, FIXED_IP__IP_ADDRESS);
+ createEAttribute(fixedIpEClass, FIXED_IP__SUBNET_ID);
+
+ externalGatewayEClass = createEClass(EXTERNAL_GATEWAY);
+ createEAttribute(externalGatewayEClass, EXTERNAL_GATEWAY__ENABLE_SNAT);
+ createEAttribute(externalGatewayEClass, EXTERNAL_GATEWAY__NETWORK_ID);
+
+ neutronRequestEClass = createEClass(NEUTRON_REQUEST);
+
+ createNetworkRequestEClass = createEClass(CREATE_NETWORK_REQUEST);
+ createEAttribute(createNetworkRequestEClass, CREATE_NETWORK_REQUEST__NAME);
+ createEAttribute(createNetworkRequestEClass, CREATE_NETWORK_REQUEST__PROVIDER_NETWORK_TYPE);
+ createEAttribute(createNetworkRequestEClass, CREATE_NETWORK_REQUEST__PROVIDER_PHYSICAL_NETWORK);
+ createEAttribute(createNetworkRequestEClass, CREATE_NETWORK_REQUEST__PROVIDER_SEGMENTATION_ID);
+ createEAttribute(createNetworkRequestEClass, CREATE_NETWORK_REQUEST__ADMIN_STATE_UP);
+ createEAttribute(createNetworkRequestEClass, CREATE_NETWORK_REQUEST__SHARED);
+
+ createSubnetRequestEClass = createEClass(CREATE_SUBNET_REQUEST);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__NAME);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__NETWORK_ID);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__IP_VERSION);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__CIDR);
+ createEReference(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__ALLOCATION_POOLS);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__DNS_NAMESERVERS);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__ENABLE_DHCP);
+ createEAttribute(createSubnetRequestEClass, CREATE_SUBNET_REQUEST__GATEWAY_IP);
+
+ createRouterRequestEClass = createEClass(CREATE_ROUTER_REQUEST);
+ createEAttribute(createRouterRequestEClass, CREATE_ROUTER_REQUEST__NAME);
+ createEAttribute(createRouterRequestEClass, CREATE_ROUTER_REQUEST__ADMIN_STATE_UP);
+ createEAttribute(createRouterRequestEClass, CREATE_ROUTER_REQUEST__SHARED);
+ createEAttribute(createRouterRequestEClass, CREATE_ROUTER_REQUEST__EXTERNAL_NETWORK);
+ createEAttribute(createRouterRequestEClass, CREATE_ROUTER_REQUEST__PORTS);
+ createEAttribute(createRouterRequestEClass, CREATE_ROUTER_REQUEST__SUBNETS);
+
+ createPortRequestEClass = createEClass(CREATE_PORT_REQUEST);
+ createEAttribute(createPortRequestEClass, CREATE_PORT_REQUEST__NAME);
+ createEAttribute(createPortRequestEClass, CREATE_PORT_REQUEST__BINDING_VNIC_TYPE);
+ createEAttribute(createPortRequestEClass, CREATE_PORT_REQUEST__STATUS);
+ createEAttribute(createPortRequestEClass, CREATE_PORT_REQUEST__ADMIN_STATE_UP);
+ createEReference(createPortRequestEClass, CREATE_PORT_REQUEST__FIXED_IPS);
+ createEAttribute(createPortRequestEClass, CREATE_PORT_REQUEST__MAC_ADDRESS);
+ createEAttribute(createPortRequestEClass, CREATE_PORT_REQUEST__NETWORK_ID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ networkEClass.getESuperTypes().add(this.getNeutronObject());
+ subnetEClass.getESuperTypes().add(this.getNeutronObject());
+ routerEClass.getESuperTypes().add(this.getNeutronObject());
+ portEClass.getESuperTypes().add(this.getNeutronObject());
+ neutronSecurityGroupEClass.getESuperTypes().add(this.getNeutronObject());
+ neutronSecurityRuleEClass.getESuperTypes().add(this.getNeutronObject());
+ neutronFloatingIpEClass.getESuperTypes().add(this.getNeutronObject());
+ neutronRequestEClass.getESuperTypes().add(theCorePackage.getOpenStackRequest());
+ createNetworkRequestEClass.getESuperTypes().add(this.getNeutronRequest());
+ createSubnetRequestEClass.getESuperTypes().add(this.getNeutronRequest());
+ createRouterRequestEClass.getESuperTypes().add(this.getNeutronRequest());
+ createPortRequestEClass.getESuperTypes().add(this.getNeutronRequest());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(neutronServiceEClass, NeutronService.class, "NeutronService", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ EOperation op = initEOperation(getNeutronService__CreateNetwork__CreateNetworkRequest(), this.getNetwork(), "createNetwork", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getCreateNetworkRequest(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__CreateSubnet__CreateSubnetRequest(), this.getSubnet(), "createSubnet", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getCreateSubnetRequest(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__CreatePort__CreatePortRequest(), this.getPort(), "createPort", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getCreatePortRequest(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__CreateRouter__CreateRouterRequest(), this.getRouter(), "createRouter", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getCreateRouterRequest(), "request", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__DeleteNetwork__String_String(), null, "deleteNetwork", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__DeleteSubnet__String_String(), null, "deleteSubnet", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__DeletePort__String_String(), null, "deletePort", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__DeleteRouter__String_String(), null, "deleteRouter", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "name", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getNeutronService__AssociateFloatingIp__String_String_String(), null, "associateFloatingIp", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "projectName", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "ipId", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, theEcorePackage.getEString(), "portId", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ initEClass(neutronObjectEClass, NeutronObject.class, "NeutronObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(networkEClass, Network.class, "Network", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNetwork_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Provider_network_type(), theEcorePackage.getEString(), "provider_network_type", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Provider_physical_network(), theEcorePackage.getEString(), "provider_physical_network", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Provider_segmentation_id(), theEcorePackage.getEIntegerObject(), "provider_segmentation_id", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Router_external(), theEcorePackage.getEBooleanObject(), "router_external", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Shared(), theEcorePackage.getEBooleanObject(), "shared", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Subnets(), theEcorePackage.getEString(), "subnets", null, 0, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNetwork_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(subnetEClass, Subnet.class, "Subnet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSubnet_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Cidr(), theEcorePackage.getEString(), "cidr", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSubnet_Allocation_pools(), this.getAllocationPool(), null, "allocation_pools", null, 0, -1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Dns_nameservers(), theEcorePackage.getEString(), "dns_nameservers", null, 0, -1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Enable_dhcp(), theEcorePackage.getEBooleanObject(), "enable_dhcp", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Gateway_ip(), theEcorePackage.getEString(), "gateway_ip", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Host_routes(), theEcorePackage.getEString(), "host_routes", null, 0, -1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Ip_version(), theEcorePackage.getEIntegerObject(), "ip_version", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Network_id(), theEcorePackage.getEString(), "network_id", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSubnet_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, Subnet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(allocationPoolEClass, AllocationPool.class, "AllocationPool", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAllocationPool_Start(), theEcorePackage.getEString(), "start", null, 0, 1, AllocationPool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAllocationPool_End(), theEcorePackage.getEString(), "end", null, 0, 1, AllocationPool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(routerEClass, Router.class, "Router", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRouter_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Router.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRouter_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Router.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRouter_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Router.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRouter_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, Router.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRouter_External_gateway_info(), this.getExternalGateway(), null, "external_gateway_info", null, 0, 1, Router.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRouter_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, Router.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(portEClass, Port.class, "Port", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPort_Id(), theEcorePackage.getEString(), "id", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Status(), theEcorePackage.getEString(), "status", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPort_External_gateway_info(), this.getExternalGateway(), null, "external_gateway_info", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Allowed_address_pairs(), theEcorePackage.getEString(), "allowed_address_pairs", null, 0, -1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Binding_host_id(), theEcorePackage.getEString(), "binding_host_id", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPort_Binding_profile(), this.getBindingProfile(), null, "binding_profile", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPort_Binding_vif_details(), this.getBindingVifDetail(), null, "binding_vif_details", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Binding_vif_type(), theEcorePackage.getEString(), "binding_vif_type", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Binding_vnic_type(), theEcorePackage.getEString(), "binding_vnic_type", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Device_id(), theEcorePackage.getEString(), "device_id", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Device_owner(), theEcorePackage.getEString(), "device_owner", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Extra_dhcp_opts(), theEcorePackage.getEString(), "extra_dhcp_opts", null, 0, -1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPort_Fixed_ips(), this.getFixedIp(), null, "fixed_ips", null, 0, -1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Mac_address(), theEcorePackage.getEString(), "mac_address", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Network_id(), theEcorePackage.getEString(), "network_id", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPort_Security_groups(), theEcorePackage.getEString(), "security_groups", null, 0, -1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(neutronSecurityGroupEClass, NeutronSecurityGroup.class, "NeutronSecurityGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNeutronSecurityGroup_Id(), theEcorePackage.getEString(), "id", null, 0, 1, NeutronSecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityGroup_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NeutronSecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityGroup_Description(), theEcorePackage.getEString(), "description", null, 0, 1, NeutronSecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNeutronSecurityGroup_Security_group_rules(), this.getNeutronSecurityRule(), null, "security_group_rules", null, 0, -1, NeutronSecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityGroup_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, NeutronSecurityGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(neutronSecurityRuleEClass, NeutronSecurityRule.class, "NeutronSecurityRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNeutronSecurityRule_Id(), theEcorePackage.getEString(), "id", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Direction(), theEcorePackage.getEString(), "direction", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Ethertype(), theEcorePackage.getEString(), "ethertype", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Port_range_min(), theEcorePackage.getEIntegerObject(), "port_range_min", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Port_range_max(), theEcorePackage.getEIntegerObject(), "port_range_max", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Protocol(), theEcorePackage.getEString(), "protocol", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Remote_group_id(), theEcorePackage.getEString(), "remote_group_id", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Remote_ip_prefix(), theEcorePackage.getEString(), "remote_ip_prefix", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Security_group_id(), theEcorePackage.getEString(), "security_group_id", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronSecurityRule_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, NeutronSecurityRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(neutronFloatingIpEClass, NeutronFloatingIp.class, "NeutronFloatingIp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNeutronFloatingIp_Id(), theEcorePackage.getEString(), "id", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Status(), theEcorePackage.getEString(), "status", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Floating_network_id(), theEcorePackage.getEString(), "floating_network_id", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Router_id(), theEcorePackage.getEString(), "router_id", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Fixed_ip_address(), theEcorePackage.getEString(), "fixed_ip_address", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Floating_ip_address(), theEcorePackage.getEString(), "floating_ip_address", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Tenant_id(), theEcorePackage.getEString(), "tenant_id", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNeutronFloatingIp_Port_id(), theEcorePackage.getEString(), "port_id", null, 0, 1, NeutronFloatingIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(bindingProfileEClass, BindingProfile.class, "BindingProfile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(bindingVifDetailEClass, BindingVifDetail.class, "BindingVifDetail", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBindingVifDetail_Ovs_hybrid_plug(), theEcorePackage.getEBooleanObject(), "ovs_hybrid_plug", null, 0, 1, BindingVifDetail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBindingVifDetail_Port_filter(), theEcorePackage.getEBooleanObject(), "port_filter", null, 0, 1, BindingVifDetail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(fixedIpEClass, FixedIp.class, "FixedIp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFixedIp_Ip_address(), theEcorePackage.getEString(), "ip_address", null, 0, 1, FixedIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFixedIp_Subnet_id(), theEcorePackage.getEString(), "subnet_id", null, 0, 1, FixedIp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(externalGatewayEClass, ExternalGateway.class, "ExternalGateway", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getExternalGateway_Enable_snat(), theEcorePackage.getEBooleanObject(), "enable_snat", null, 0, 1, ExternalGateway.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExternalGateway_Network_id(), theEcorePackage.getEString(), "network_id", null, 0, 1, ExternalGateway.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(neutronRequestEClass, NeutronRequest.class, "NeutronRequest", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(createNetworkRequestEClass, CreateNetworkRequest.class, "CreateNetworkRequest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCreateNetworkRequest_Name(), theEcorePackage.getEString(), "name", null, 0, 1, CreateNetworkRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateNetworkRequest_ProviderNetworkType(), theEcorePackage.getEString(), "providerNetworkType", null, 0, 1, CreateNetworkRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateNetworkRequest_ProviderPhysicalNetwork(), theEcorePackage.getEString(), "providerPhysicalNetwork", null, 0, 1, CreateNetworkRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateNetworkRequest_ProviderSegmentationId(), theEcorePackage.getEInt(), "providerSegmentationId", null, 0, 1, CreateNetworkRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateNetworkRequest_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, CreateNetworkRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateNetworkRequest_Shared(), theEcorePackage.getEBooleanObject(), "shared", null, 0, 1, CreateNetworkRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(createSubnetRequestEClass, CreateSubnetRequest.class, "CreateSubnetRequest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCreateSubnetRequest_Name(), theEcorePackage.getEString(), "name", null, 0, 1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateSubnetRequest_Network_id(), theEcorePackage.getEString(), "network_id", null, 1, 1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateSubnetRequest_Ip_version(), theEcorePackage.getEInt(), "ip_version", null, 0, 1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateSubnetRequest_Cidr(), theEcorePackage.getEString(), "cidr", null, 0, 1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCreateSubnetRequest_Allocation_pools(), this.getAllocationPool(), null, "allocation_pools", null, 0, -1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateSubnetRequest_Dns_nameservers(), theEcorePackage.getEString(), "dns_nameservers", null, 0, -1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateSubnetRequest_Enable_dhcp(), theEcorePackage.getEBooleanObject(), "enable_dhcp", null, 0, 1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateSubnetRequest_Gateway_ip(), theEcorePackage.getEString(), "gateway_ip", null, 0, 1, CreateSubnetRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(createRouterRequestEClass, CreateRouterRequest.class, "CreateRouterRequest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCreateRouterRequest_Name(), theEcorePackage.getEString(), "name", null, 0, 1, CreateRouterRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateRouterRequest_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, CreateRouterRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateRouterRequest_Shared(), theEcorePackage.getEBooleanObject(), "shared", null, 0, 1, CreateRouterRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateRouterRequest_ExternalNetwork(), theEcorePackage.getEString(), "externalNetwork", null, 0, 1, CreateRouterRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateRouterRequest_Ports(), theEcorePackage.getEString(), "ports", null, 0, -1, CreateRouterRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreateRouterRequest_Subnets(), theEcorePackage.getEString(), "subnets", null, 0, -1, CreateRouterRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(createPortRequestEClass, CreatePortRequest.class, "CreatePortRequest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCreatePortRequest_Name(), theEcorePackage.getEString(), "name", null, 0, 1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreatePortRequest_BindingVnicType(), theEcorePackage.getEString(), "bindingVnicType", null, 0, 1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreatePortRequest_Status(), theEcorePackage.getEString(), "status", null, 0, 1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreatePortRequest_Admin_state_up(), theEcorePackage.getEBooleanObject(), "admin_state_up", null, 0, 1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCreatePortRequest_Fixed_ips(), this.getFixedIp(), null, "fixed_ips", null, 0, -1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreatePortRequest_Mac_address(), theEcorePackage.getEString(), "mac_address", null, 0, 1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCreatePortRequest_Network_id(), theEcorePackage.getEString(), "network_id", null, 1, 1, CreatePortRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2011/Xcore
+ createXcoreAnnotations();
+ // http://openecomp.org/sirius/openstack
+ createOpenstackAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2011/Xcore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createXcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2011/Xcore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "openstack", "http://openecomp.org/sirius/openstack"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://openecomp.org/sirius/openstack</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createOpenstackAnnotations() {
+ String source = "http://openecomp.org/sirius/openstack";
+ addAnnotation
+ (getCreateNetworkRequest_ProviderNetworkType(),
+ source,
+ new String[] {
+ "name", "provider:network_type"
+ });
+ addAnnotation
+ (getCreateNetworkRequest_ProviderPhysicalNetwork(),
+ source,
+ new String[] {
+ "name", "provider:physical_network"
+ });
+ addAnnotation
+ (getCreateNetworkRequest_ProviderSegmentationId(),
+ source,
+ new String[] {
+ "name", "provider:segmentation_id"
+ });
+ addAnnotation
+ (getCreatePortRequest_BindingVnicType(),
+ source,
+ new String[] {
+ "name", "binding:vnic_type"
+ });
+ addAnnotation
+ (getCreatePortRequest_Fixed_ips(),
+ source,
+ new String[] {
+ "removeEmptyList", "true"
+ });
+ }
+
+} //NeutronPackageImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronRequestImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronRequestImpl.java
new file mode 100644
index 0000000..d2c350d
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronRequestImpl.java
@@ -0,0 +1,62 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.core.impl.OpenStackRequestImpl;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronRequest;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class NeutronRequestImpl extends OpenStackRequestImpl implements NeutronRequest {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronRequestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NEUTRON_REQUEST;
+ }
+
+} //NeutronRequestImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityGroupImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityGroupImpl.java
new file mode 100644
index 0000000..70d84c1
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityGroupImpl.java
@@ -0,0 +1,404 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl#getSecurity_group_rules <em>Security group rules</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityGroupImpl#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NeutronSecurityGroupImpl extends NeutronObjectImpl implements NeutronSecurityGroup {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSecurity_group_rules() <em>Security group rules</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSecurity_group_rules()
+ * @generated
+ * @ordered
+ */
+ protected EList<NeutronSecurityRule> security_group_rules;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronSecurityGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NEUTRON_SECURITY_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_GROUP__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_GROUP__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_GROUP__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NeutronSecurityRule> getSecurity_group_rules() {
+ if (security_group_rules == null) {
+ security_group_rules = new EObjectContainmentEList<NeutronSecurityRule>(NeutronSecurityRule.class, this, NeutronPackage.NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES);
+ }
+ return security_group_rules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_GROUP__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES:
+ return ((InternalEList<?>)getSecurity_group_rules()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__ID:
+ return getId();
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__NAME:
+ return getName();
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__DESCRIPTION:
+ return getDescription();
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES:
+ return getSecurity_group_rules();
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__TENANT_ID:
+ return getTenant_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES:
+ getSecurity_group_rules().clear();
+ getSecurity_group_rules().addAll((Collection<? extends NeutronSecurityRule>)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES:
+ getSecurity_group_rules().clear();
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__SECURITY_GROUP_RULES:
+ return security_group_rules != null && !security_group_rules.isEmpty();
+ case NeutronPackage.NEUTRON_SECURITY_GROUP__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", description: ");
+ result.append(description);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NeutronSecurityGroupImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityRuleImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityRuleImpl.java
new file mode 100644
index 0000000..3a5d53e
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronSecurityRuleImpl.java
@@ -0,0 +1,669 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getEthertype <em>Ethertype</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getPort_range_min <em>Port range min</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getPort_range_max <em>Port range max</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getProtocol <em>Protocol</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getRemote_group_id <em>Remote group id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getRemote_ip_prefix <em>Remote ip prefix</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getSecurity_group_id <em>Security group id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.NeutronSecurityRuleImpl#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NeutronSecurityRuleImpl extends NeutronObjectImpl implements NeutronSecurityRule {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final String DIRECTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected String direction = DIRECTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEthertype() <em>Ethertype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEthertype()
+ * @generated
+ * @ordered
+ */
+ protected static final String ETHERTYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEthertype() <em>Ethertype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEthertype()
+ * @generated
+ * @ordered
+ */
+ protected String ethertype = ETHERTYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPort_range_min() <em>Port range min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_range_min()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PORT_RANGE_MIN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPort_range_min() <em>Port range min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_range_min()
+ * @generated
+ * @ordered
+ */
+ protected Integer port_range_min = PORT_RANGE_MIN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPort_range_max() <em>Port range max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_range_max()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PORT_RANGE_MAX_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPort_range_max() <em>Port range max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_range_max()
+ * @generated
+ * @ordered
+ */
+ protected Integer port_range_max = PORT_RANGE_MAX_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProtocol() <em>Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProtocol()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROTOCOL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProtocol() <em>Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProtocol()
+ * @generated
+ * @ordered
+ */
+ protected String protocol = PROTOCOL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRemote_group_id() <em>Remote group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemote_group_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String REMOTE_GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRemote_group_id() <em>Remote group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemote_group_id()
+ * @generated
+ * @ordered
+ */
+ protected String remote_group_id = REMOTE_GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRemote_ip_prefix() <em>Remote ip prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemote_ip_prefix()
+ * @generated
+ * @ordered
+ */
+ protected static final String REMOTE_IP_PREFIX_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRemote_ip_prefix() <em>Remote ip prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemote_ip_prefix()
+ * @generated
+ * @ordered
+ */
+ protected String remote_ip_prefix = REMOTE_IP_PREFIX_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSecurity_group_id() <em>Security group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSecurity_group_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String SECURITY_GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSecurity_group_id() <em>Security group id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSecurity_group_id()
+ * @generated
+ * @ordered
+ */
+ protected String security_group_id = SECURITY_GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronSecurityRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NEUTRON_SECURITY_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDirection() {
+ return direction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirection(String newDirection) {
+ String oldDirection = direction;
+ direction = newDirection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__DIRECTION, oldDirection, direction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEthertype() {
+ return ethertype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEthertype(String newEthertype) {
+ String oldEthertype = ethertype;
+ ethertype = newEthertype;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__ETHERTYPE, oldEthertype, ethertype));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getPort_range_min() {
+ return port_range_min;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort_range_min(Integer newPort_range_min) {
+ Integer oldPort_range_min = port_range_min;
+ port_range_min = newPort_range_min;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MIN, oldPort_range_min, port_range_min));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getPort_range_max() {
+ return port_range_max;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort_range_max(Integer newPort_range_max) {
+ Integer oldPort_range_max = port_range_max;
+ port_range_max = newPort_range_max;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MAX, oldPort_range_max, port_range_max));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProtocol(String newProtocol) {
+ String oldProtocol = protocol;
+ protocol = newProtocol;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__PROTOCOL, oldProtocol, protocol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRemote_group_id() {
+ return remote_group_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemote_group_id(String newRemote_group_id) {
+ String oldRemote_group_id = remote_group_id;
+ remote_group_id = newRemote_group_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID, oldRemote_group_id, remote_group_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRemote_ip_prefix() {
+ return remote_ip_prefix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemote_ip_prefix(String newRemote_ip_prefix) {
+ String oldRemote_ip_prefix = remote_ip_prefix;
+ remote_ip_prefix = newRemote_ip_prefix;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX, oldRemote_ip_prefix, remote_ip_prefix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSecurity_group_id() {
+ return security_group_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSecurity_group_id(String newSecurity_group_id) {
+ String oldSecurity_group_id = security_group_id;
+ security_group_id = newSecurity_group_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID, oldSecurity_group_id, security_group_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.NEUTRON_SECURITY_RULE__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ID:
+ return getId();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__DIRECTION:
+ return getDirection();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ETHERTYPE:
+ return getEthertype();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MIN:
+ return getPort_range_min();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MAX:
+ return getPort_range_max();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PROTOCOL:
+ return getProtocol();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID:
+ return getRemote_group_id();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX:
+ return getRemote_ip_prefix();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID:
+ return getSecurity_group_id();
+ case NeutronPackage.NEUTRON_SECURITY_RULE__TENANT_ID:
+ return getTenant_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__DIRECTION:
+ setDirection((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ETHERTYPE:
+ setEthertype((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MIN:
+ setPort_range_min((Integer)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MAX:
+ setPort_range_max((Integer)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PROTOCOL:
+ setProtocol((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID:
+ setRemote_group_id((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX:
+ setRemote_ip_prefix((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID:
+ setSecurity_group_id((String)newValue);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__DIRECTION:
+ setDirection(DIRECTION_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ETHERTYPE:
+ setEthertype(ETHERTYPE_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MIN:
+ setPort_range_min(PORT_RANGE_MIN_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MAX:
+ setPort_range_max(PORT_RANGE_MAX_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PROTOCOL:
+ setProtocol(PROTOCOL_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID:
+ setRemote_group_id(REMOTE_GROUP_ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX:
+ setRemote_ip_prefix(REMOTE_IP_PREFIX_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID:
+ setSecurity_group_id(SECURITY_GROUP_ID_EDEFAULT);
+ return;
+ case NeutronPackage.NEUTRON_SECURITY_RULE__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__DIRECTION:
+ return DIRECTION_EDEFAULT == null ? direction != null : !DIRECTION_EDEFAULT.equals(direction);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__ETHERTYPE:
+ return ETHERTYPE_EDEFAULT == null ? ethertype != null : !ETHERTYPE_EDEFAULT.equals(ethertype);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MIN:
+ return PORT_RANGE_MIN_EDEFAULT == null ? port_range_min != null : !PORT_RANGE_MIN_EDEFAULT.equals(port_range_min);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PORT_RANGE_MAX:
+ return PORT_RANGE_MAX_EDEFAULT == null ? port_range_max != null : !PORT_RANGE_MAX_EDEFAULT.equals(port_range_max);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__PROTOCOL:
+ return PROTOCOL_EDEFAULT == null ? protocol != null : !PROTOCOL_EDEFAULT.equals(protocol);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_GROUP_ID:
+ return REMOTE_GROUP_ID_EDEFAULT == null ? remote_group_id != null : !REMOTE_GROUP_ID_EDEFAULT.equals(remote_group_id);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__REMOTE_IP_PREFIX:
+ return REMOTE_IP_PREFIX_EDEFAULT == null ? remote_ip_prefix != null : !REMOTE_IP_PREFIX_EDEFAULT.equals(remote_ip_prefix);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__SECURITY_GROUP_ID:
+ return SECURITY_GROUP_ID_EDEFAULT == null ? security_group_id != null : !SECURITY_GROUP_ID_EDEFAULT.equals(security_group_id);
+ case NeutronPackage.NEUTRON_SECURITY_RULE__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", direction: ");
+ result.append(direction);
+ result.append(", ethertype: ");
+ result.append(ethertype);
+ result.append(", port_range_min: ");
+ result.append(port_range_min);
+ result.append(", port_range_max: ");
+ result.append(port_range_max);
+ result.append(", protocol: ");
+ result.append(protocol);
+ result.append(", remote_group_id: ");
+ result.append(remote_group_id);
+ result.append(", remote_ip_prefix: ");
+ result.append(remote_ip_prefix);
+ result.append(", security_group_id: ");
+ result.append(security_group_id);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NeutronSecurityRuleImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronServiceImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronServiceImpl.java
new file mode 100644
index 0000000..9dc051f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/NeutronServiceImpl.java
@@ -0,0 +1,204 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest;
+import org.openecomp.ncomp.openstack.neutron.CreatePortRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateRouterRequest;
+import org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest;
+import org.openecomp.ncomp.openstack.neutron.Network;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.NeutronService;
+import org.openecomp.ncomp.openstack.neutron.Port;
+import org.openecomp.ncomp.openstack.neutron.Router;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class NeutronServiceImpl extends MinimalEObjectImpl.Container implements NeutronService {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.NEUTRON_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Network createNetwork(CreateNetworkRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Subnet createSubnet(CreateSubnetRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port createPort(CreatePortRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Router createRouter(CreateRouterRequest request) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteNetwork(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteSubnet(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deletePort(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void deleteRouter(String projectName, String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void associateFloatingIp(String projectName, String ipId, String portId) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_NETWORK__CREATENETWORKREQUEST:
+ return createNetwork((CreateNetworkRequest)arguments.get(0));
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_SUBNET__CREATESUBNETREQUEST:
+ return createSubnet((CreateSubnetRequest)arguments.get(0));
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_PORT__CREATEPORTREQUEST:
+ return createPort((CreatePortRequest)arguments.get(0));
+ case NeutronPackage.NEUTRON_SERVICE___CREATE_ROUTER__CREATEROUTERREQUEST:
+ return createRouter((CreateRouterRequest)arguments.get(0));
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_NETWORK__STRING_STRING:
+ deleteNetwork((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_SUBNET__STRING_STRING:
+ deleteSubnet((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_PORT__STRING_STRING:
+ deletePort((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case NeutronPackage.NEUTRON_SERVICE___DELETE_ROUTER__STRING_STRING:
+ deleteRouter((String)arguments.get(0), (String)arguments.get(1));
+ return null;
+ case NeutronPackage.NEUTRON_SERVICE___ASSOCIATE_FLOATING_IP__STRING_STRING_STRING:
+ associateFloatingIp((String)arguments.get(0), (String)arguments.get(1), (String)arguments.get(2));
+ return null;
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //NeutronServiceImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/PortImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/PortImpl.java
new file mode 100644
index 0000000..2af9613
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/PortImpl.java
@@ -0,0 +1,1146 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.BindingProfile;
+import org.openecomp.ncomp.openstack.neutron.BindingVifDetail;
+import org.openecomp.ncomp.openstack.neutron.ExternalGateway;
+import org.openecomp.ncomp.openstack.neutron.FixedIp;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.Port;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getExternal_gateway_info <em>External gateway info</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getTenant_id <em>Tenant id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getAllowed_address_pairs <em>Allowed address pairs</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getBinding_host_id <em>Binding host id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getBinding_profile <em>Binding profile</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getBinding_vif_details <em>Binding vif details</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getBinding_vif_type <em>Binding vif type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getBinding_vnic_type <em>Binding vnic type</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getDevice_id <em>Device id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getDevice_owner <em>Device owner</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getExtra_dhcp_opts <em>Extra dhcp opts</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getFixed_ips <em>Fixed ips</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getMac_address <em>Mac address</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getNetwork_id <em>Network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.PortImpl#getSecurity_groups <em>Security groups</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PortImpl extends NeutronObjectImpl implements Port {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExternal_gateway_info() <em>External gateway info</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternal_gateway_info()
+ * @generated
+ * @ordered
+ */
+ protected ExternalGateway external_gateway_info;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAllowed_address_pairs() <em>Allowed address pairs</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllowed_address_pairs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> allowed_address_pairs;
+
+ /**
+ * The default value of the '{@link #getBinding_host_id() <em>Binding host id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_host_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String BINDING_HOST_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBinding_host_id() <em>Binding host id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_host_id()
+ * @generated
+ * @ordered
+ */
+ protected String binding_host_id = BINDING_HOST_ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBinding_profile() <em>Binding profile</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_profile()
+ * @generated
+ * @ordered
+ */
+ protected BindingProfile binding_profile;
+
+ /**
+ * The cached value of the '{@link #getBinding_vif_details() <em>Binding vif details</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_vif_details()
+ * @generated
+ * @ordered
+ */
+ protected BindingVifDetail binding_vif_details;
+
+ /**
+ * The default value of the '{@link #getBinding_vif_type() <em>Binding vif type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_vif_type()
+ * @generated
+ * @ordered
+ */
+ protected static final String BINDING_VIF_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBinding_vif_type() <em>Binding vif type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_vif_type()
+ * @generated
+ * @ordered
+ */
+ protected String binding_vif_type = BINDING_VIF_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBinding_vnic_type() <em>Binding vnic type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_vnic_type()
+ * @generated
+ * @ordered
+ */
+ protected static final String BINDING_VNIC_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBinding_vnic_type() <em>Binding vnic type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding_vnic_type()
+ * @generated
+ * @ordered
+ */
+ protected String binding_vnic_type = BINDING_VNIC_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDevice_id() <em>Device id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevice_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEVICE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDevice_id() <em>Device id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevice_id()
+ * @generated
+ * @ordered
+ */
+ protected String device_id = DEVICE_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDevice_owner() <em>Device owner</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevice_owner()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEVICE_OWNER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDevice_owner() <em>Device owner</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevice_owner()
+ * @generated
+ * @ordered
+ */
+ protected String device_owner = DEVICE_OWNER_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtra_dhcp_opts() <em>Extra dhcp opts</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtra_dhcp_opts()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> extra_dhcp_opts;
+
+ /**
+ * The cached value of the '{@link #getFixed_ips() <em>Fixed ips</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFixed_ips()
+ * @generated
+ * @ordered
+ */
+ protected EList<FixedIp> fixed_ips;
+
+ /**
+ * The default value of the '{@link #getMac_address() <em>Mac address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMac_address()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAC_ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMac_address() <em>Mac address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMac_address()
+ * @generated
+ * @ordered
+ */
+ protected String mac_address = MAC_ADDRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String NETWORK_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected String network_id = NETWORK_ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSecurity_groups() <em>Security groups</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSecurity_groups()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> security_groups;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExternalGateway getExternal_gateway_info() {
+ return external_gateway_info;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExternal_gateway_info(ExternalGateway newExternal_gateway_info, NotificationChain msgs) {
+ ExternalGateway oldExternal_gateway_info = external_gateway_info;
+ external_gateway_info = newExternal_gateway_info;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO, oldExternal_gateway_info, newExternal_gateway_info);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExternal_gateway_info(ExternalGateway newExternal_gateway_info) {
+ if (newExternal_gateway_info != external_gateway_info) {
+ NotificationChain msgs = null;
+ if (external_gateway_info != null)
+ msgs = ((InternalEObject)external_gateway_info).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO, null, msgs);
+ if (newExternal_gateway_info != null)
+ msgs = ((InternalEObject)newExternal_gateway_info).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO, null, msgs);
+ msgs = basicSetExternal_gateway_info(newExternal_gateway_info, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO, newExternal_gateway_info, newExternal_gateway_info));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getAllowed_address_pairs() {
+ if (allowed_address_pairs == null) {
+ allowed_address_pairs = new EDataTypeEList<String>(String.class, this, NeutronPackage.PORT__ALLOWED_ADDRESS_PAIRS);
+ }
+ return allowed_address_pairs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBinding_host_id() {
+ return binding_host_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBinding_host_id(String newBinding_host_id) {
+ String oldBinding_host_id = binding_host_id;
+ binding_host_id = newBinding_host_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_HOST_ID, oldBinding_host_id, binding_host_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingProfile getBinding_profile() {
+ return binding_profile;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBinding_profile(BindingProfile newBinding_profile, NotificationChain msgs) {
+ BindingProfile oldBinding_profile = binding_profile;
+ binding_profile = newBinding_profile;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_PROFILE, oldBinding_profile, newBinding_profile);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBinding_profile(BindingProfile newBinding_profile) {
+ if (newBinding_profile != binding_profile) {
+ NotificationChain msgs = null;
+ if (binding_profile != null)
+ msgs = ((InternalEObject)binding_profile).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.PORT__BINDING_PROFILE, null, msgs);
+ if (newBinding_profile != null)
+ msgs = ((InternalEObject)newBinding_profile).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.PORT__BINDING_PROFILE, null, msgs);
+ msgs = basicSetBinding_profile(newBinding_profile, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_PROFILE, newBinding_profile, newBinding_profile));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingVifDetail getBinding_vif_details() {
+ return binding_vif_details;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBinding_vif_details(BindingVifDetail newBinding_vif_details, NotificationChain msgs) {
+ BindingVifDetail oldBinding_vif_details = binding_vif_details;
+ binding_vif_details = newBinding_vif_details;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_VIF_DETAILS, oldBinding_vif_details, newBinding_vif_details);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBinding_vif_details(BindingVifDetail newBinding_vif_details) {
+ if (newBinding_vif_details != binding_vif_details) {
+ NotificationChain msgs = null;
+ if (binding_vif_details != null)
+ msgs = ((InternalEObject)binding_vif_details).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.PORT__BINDING_VIF_DETAILS, null, msgs);
+ if (newBinding_vif_details != null)
+ msgs = ((InternalEObject)newBinding_vif_details).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.PORT__BINDING_VIF_DETAILS, null, msgs);
+ msgs = basicSetBinding_vif_details(newBinding_vif_details, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_VIF_DETAILS, newBinding_vif_details, newBinding_vif_details));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBinding_vif_type() {
+ return binding_vif_type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBinding_vif_type(String newBinding_vif_type) {
+ String oldBinding_vif_type = binding_vif_type;
+ binding_vif_type = newBinding_vif_type;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_VIF_TYPE, oldBinding_vif_type, binding_vif_type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBinding_vnic_type() {
+ return binding_vnic_type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBinding_vnic_type(String newBinding_vnic_type) {
+ String oldBinding_vnic_type = binding_vnic_type;
+ binding_vnic_type = newBinding_vnic_type;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__BINDING_VNIC_TYPE, oldBinding_vnic_type, binding_vnic_type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDevice_id() {
+ return device_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDevice_id(String newDevice_id) {
+ String oldDevice_id = device_id;
+ device_id = newDevice_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__DEVICE_ID, oldDevice_id, device_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDevice_owner() {
+ return device_owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDevice_owner(String newDevice_owner) {
+ String oldDevice_owner = device_owner;
+ device_owner = newDevice_owner;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__DEVICE_OWNER, oldDevice_owner, device_owner));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getExtra_dhcp_opts() {
+ if (extra_dhcp_opts == null) {
+ extra_dhcp_opts = new EDataTypeEList<String>(String.class, this, NeutronPackage.PORT__EXTRA_DHCP_OPTS);
+ }
+ return extra_dhcp_opts;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FixedIp> getFixed_ips() {
+ if (fixed_ips == null) {
+ fixed_ips = new EObjectContainmentEList<FixedIp>(FixedIp.class, this, NeutronPackage.PORT__FIXED_IPS);
+ }
+ return fixed_ips;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMac_address() {
+ return mac_address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMac_address(String newMac_address) {
+ String oldMac_address = mac_address;
+ mac_address = newMac_address;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__MAC_ADDRESS, oldMac_address, mac_address));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNetwork_id() {
+ return network_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNetwork_id(String newNetwork_id) {
+ String oldNetwork_id = network_id;
+ network_id = newNetwork_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.PORT__NETWORK_ID, oldNetwork_id, network_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getSecurity_groups() {
+ if (security_groups == null) {
+ security_groups = new EDataTypeEList<String>(String.class, this, NeutronPackage.PORT__SECURITY_GROUPS);
+ }
+ return security_groups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO:
+ return basicSetExternal_gateway_info(null, msgs);
+ case NeutronPackage.PORT__BINDING_PROFILE:
+ return basicSetBinding_profile(null, msgs);
+ case NeutronPackage.PORT__BINDING_VIF_DETAILS:
+ return basicSetBinding_vif_details(null, msgs);
+ case NeutronPackage.PORT__FIXED_IPS:
+ return ((InternalEList<?>)getFixed_ips()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.PORT__ID:
+ return getId();
+ case NeutronPackage.PORT__NAME:
+ return getName();
+ case NeutronPackage.PORT__STATUS:
+ return getStatus();
+ case NeutronPackage.PORT__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO:
+ return getExternal_gateway_info();
+ case NeutronPackage.PORT__TENANT_ID:
+ return getTenant_id();
+ case NeutronPackage.PORT__ALLOWED_ADDRESS_PAIRS:
+ return getAllowed_address_pairs();
+ case NeutronPackage.PORT__BINDING_HOST_ID:
+ return getBinding_host_id();
+ case NeutronPackage.PORT__BINDING_PROFILE:
+ return getBinding_profile();
+ case NeutronPackage.PORT__BINDING_VIF_DETAILS:
+ return getBinding_vif_details();
+ case NeutronPackage.PORT__BINDING_VIF_TYPE:
+ return getBinding_vif_type();
+ case NeutronPackage.PORT__BINDING_VNIC_TYPE:
+ return getBinding_vnic_type();
+ case NeutronPackage.PORT__DEVICE_ID:
+ return getDevice_id();
+ case NeutronPackage.PORT__DEVICE_OWNER:
+ return getDevice_owner();
+ case NeutronPackage.PORT__EXTRA_DHCP_OPTS:
+ return getExtra_dhcp_opts();
+ case NeutronPackage.PORT__FIXED_IPS:
+ return getFixed_ips();
+ case NeutronPackage.PORT__MAC_ADDRESS:
+ return getMac_address();
+ case NeutronPackage.PORT__NETWORK_ID:
+ return getNetwork_id();
+ case NeutronPackage.PORT__SECURITY_GROUPS:
+ return getSecurity_groups();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.PORT__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.PORT__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.PORT__STATUS:
+ setStatus((String)newValue);
+ return;
+ case NeutronPackage.PORT__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO:
+ setExternal_gateway_info((ExternalGateway)newValue);
+ return;
+ case NeutronPackage.PORT__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ case NeutronPackage.PORT__ALLOWED_ADDRESS_PAIRS:
+ getAllowed_address_pairs().clear();
+ getAllowed_address_pairs().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.PORT__BINDING_HOST_ID:
+ setBinding_host_id((String)newValue);
+ return;
+ case NeutronPackage.PORT__BINDING_PROFILE:
+ setBinding_profile((BindingProfile)newValue);
+ return;
+ case NeutronPackage.PORT__BINDING_VIF_DETAILS:
+ setBinding_vif_details((BindingVifDetail)newValue);
+ return;
+ case NeutronPackage.PORT__BINDING_VIF_TYPE:
+ setBinding_vif_type((String)newValue);
+ return;
+ case NeutronPackage.PORT__BINDING_VNIC_TYPE:
+ setBinding_vnic_type((String)newValue);
+ return;
+ case NeutronPackage.PORT__DEVICE_ID:
+ setDevice_id((String)newValue);
+ return;
+ case NeutronPackage.PORT__DEVICE_OWNER:
+ setDevice_owner((String)newValue);
+ return;
+ case NeutronPackage.PORT__EXTRA_DHCP_OPTS:
+ getExtra_dhcp_opts().clear();
+ getExtra_dhcp_opts().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.PORT__FIXED_IPS:
+ getFixed_ips().clear();
+ getFixed_ips().addAll((Collection<? extends FixedIp>)newValue);
+ return;
+ case NeutronPackage.PORT__MAC_ADDRESS:
+ setMac_address((String)newValue);
+ return;
+ case NeutronPackage.PORT__NETWORK_ID:
+ setNetwork_id((String)newValue);
+ return;
+ case NeutronPackage.PORT__SECURITY_GROUPS:
+ getSecurity_groups().clear();
+ getSecurity_groups().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.PORT__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO:
+ setExternal_gateway_info((ExternalGateway)null);
+ return;
+ case NeutronPackage.PORT__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__ALLOWED_ADDRESS_PAIRS:
+ getAllowed_address_pairs().clear();
+ return;
+ case NeutronPackage.PORT__BINDING_HOST_ID:
+ setBinding_host_id(BINDING_HOST_ID_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__BINDING_PROFILE:
+ setBinding_profile((BindingProfile)null);
+ return;
+ case NeutronPackage.PORT__BINDING_VIF_DETAILS:
+ setBinding_vif_details((BindingVifDetail)null);
+ return;
+ case NeutronPackage.PORT__BINDING_VIF_TYPE:
+ setBinding_vif_type(BINDING_VIF_TYPE_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__BINDING_VNIC_TYPE:
+ setBinding_vnic_type(BINDING_VNIC_TYPE_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__DEVICE_ID:
+ setDevice_id(DEVICE_ID_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__DEVICE_OWNER:
+ setDevice_owner(DEVICE_OWNER_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__EXTRA_DHCP_OPTS:
+ getExtra_dhcp_opts().clear();
+ return;
+ case NeutronPackage.PORT__FIXED_IPS:
+ getFixed_ips().clear();
+ return;
+ case NeutronPackage.PORT__MAC_ADDRESS:
+ setMac_address(MAC_ADDRESS_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__NETWORK_ID:
+ setNetwork_id(NETWORK_ID_EDEFAULT);
+ return;
+ case NeutronPackage.PORT__SECURITY_GROUPS:
+ getSecurity_groups().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.PORT__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.PORT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.PORT__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case NeutronPackage.PORT__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.PORT__EXTERNAL_GATEWAY_INFO:
+ return external_gateway_info != null;
+ case NeutronPackage.PORT__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ case NeutronPackage.PORT__ALLOWED_ADDRESS_PAIRS:
+ return allowed_address_pairs != null && !allowed_address_pairs.isEmpty();
+ case NeutronPackage.PORT__BINDING_HOST_ID:
+ return BINDING_HOST_ID_EDEFAULT == null ? binding_host_id != null : !BINDING_HOST_ID_EDEFAULT.equals(binding_host_id);
+ case NeutronPackage.PORT__BINDING_PROFILE:
+ return binding_profile != null;
+ case NeutronPackage.PORT__BINDING_VIF_DETAILS:
+ return binding_vif_details != null;
+ case NeutronPackage.PORT__BINDING_VIF_TYPE:
+ return BINDING_VIF_TYPE_EDEFAULT == null ? binding_vif_type != null : !BINDING_VIF_TYPE_EDEFAULT.equals(binding_vif_type);
+ case NeutronPackage.PORT__BINDING_VNIC_TYPE:
+ return BINDING_VNIC_TYPE_EDEFAULT == null ? binding_vnic_type != null : !BINDING_VNIC_TYPE_EDEFAULT.equals(binding_vnic_type);
+ case NeutronPackage.PORT__DEVICE_ID:
+ return DEVICE_ID_EDEFAULT == null ? device_id != null : !DEVICE_ID_EDEFAULT.equals(device_id);
+ case NeutronPackage.PORT__DEVICE_OWNER:
+ return DEVICE_OWNER_EDEFAULT == null ? device_owner != null : !DEVICE_OWNER_EDEFAULT.equals(device_owner);
+ case NeutronPackage.PORT__EXTRA_DHCP_OPTS:
+ return extra_dhcp_opts != null && !extra_dhcp_opts.isEmpty();
+ case NeutronPackage.PORT__FIXED_IPS:
+ return fixed_ips != null && !fixed_ips.isEmpty();
+ case NeutronPackage.PORT__MAC_ADDRESS:
+ return MAC_ADDRESS_EDEFAULT == null ? mac_address != null : !MAC_ADDRESS_EDEFAULT.equals(mac_address);
+ case NeutronPackage.PORT__NETWORK_ID:
+ return NETWORK_ID_EDEFAULT == null ? network_id != null : !NETWORK_ID_EDEFAULT.equals(network_id);
+ case NeutronPackage.PORT__SECURITY_GROUPS:
+ return security_groups != null && !security_groups.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(", allowed_address_pairs: ");
+ result.append(allowed_address_pairs);
+ result.append(", binding_host_id: ");
+ result.append(binding_host_id);
+ result.append(", binding_vif_type: ");
+ result.append(binding_vif_type);
+ result.append(", binding_vnic_type: ");
+ result.append(binding_vnic_type);
+ result.append(", device_id: ");
+ result.append(device_id);
+ result.append(", device_owner: ");
+ result.append(device_owner);
+ result.append(", extra_dhcp_opts: ");
+ result.append(extra_dhcp_opts);
+ result.append(", mac_address: ");
+ result.append(mac_address);
+ result.append(", network_id: ");
+ result.append(network_id);
+ result.append(", security_groups: ");
+ result.append(security_groups);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PortImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/RouterImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/RouterImpl.java
new file mode 100644
index 0000000..077962f
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/RouterImpl.java
@@ -0,0 +1,480 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.ExternalGateway;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.Router;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Router</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl#getExternal_gateway_info <em>External gateway info</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.RouterImpl#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RouterImpl extends NeutronObjectImpl implements Router {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExternal_gateway_info() <em>External gateway info</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternal_gateway_info()
+ * @generated
+ * @ordered
+ */
+ protected ExternalGateway external_gateway_info;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RouterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.ROUTER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExternalGateway getExternal_gateway_info() {
+ return external_gateway_info;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExternal_gateway_info(ExternalGateway newExternal_gateway_info, NotificationChain msgs) {
+ ExternalGateway oldExternal_gateway_info = external_gateway_info;
+ external_gateway_info = newExternal_gateway_info;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO, oldExternal_gateway_info, newExternal_gateway_info);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExternal_gateway_info(ExternalGateway newExternal_gateway_info) {
+ if (newExternal_gateway_info != external_gateway_info) {
+ NotificationChain msgs = null;
+ if (external_gateway_info != null)
+ msgs = ((InternalEObject)external_gateway_info).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO, null, msgs);
+ if (newExternal_gateway_info != null)
+ msgs = ((InternalEObject)newExternal_gateway_info).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO, null, msgs);
+ msgs = basicSetExternal_gateway_info(newExternal_gateway_info, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO, newExternal_gateway_info, newExternal_gateway_info));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.ROUTER__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO:
+ return basicSetExternal_gateway_info(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.ROUTER__ID:
+ return getId();
+ case NeutronPackage.ROUTER__NAME:
+ return getName();
+ case NeutronPackage.ROUTER__STATUS:
+ return getStatus();
+ case NeutronPackage.ROUTER__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO:
+ return getExternal_gateway_info();
+ case NeutronPackage.ROUTER__TENANT_ID:
+ return getTenant_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.ROUTER__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.ROUTER__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.ROUTER__STATUS:
+ setStatus((String)newValue);
+ return;
+ case NeutronPackage.ROUTER__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO:
+ setExternal_gateway_info((ExternalGateway)newValue);
+ return;
+ case NeutronPackage.ROUTER__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.ROUTER__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.ROUTER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.ROUTER__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case NeutronPackage.ROUTER__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO:
+ setExternal_gateway_info((ExternalGateway)null);
+ return;
+ case NeutronPackage.ROUTER__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.ROUTER__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.ROUTER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.ROUTER__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case NeutronPackage.ROUTER__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.ROUTER__EXTERNAL_GATEWAY_INFO:
+ return external_gateway_info != null;
+ case NeutronPackage.ROUTER__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RouterImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/SubnetImpl.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/SubnetImpl.java
new file mode 100644
index 0000000..d7216ba
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/impl/SubnetImpl.java
@@ -0,0 +1,801 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.impl;
+
+import org.openecomp.ncomp.openstack.neutron.AllocationPool;
+import org.openecomp.ncomp.openstack.neutron.NeutronPackage;
+import org.openecomp.ncomp.openstack.neutron.Subnet;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Subnet</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getStatus <em>Status</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getAdmin_state_up <em>Admin state up</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getCidr <em>Cidr</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getAllocation_pools <em>Allocation pools</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getDns_nameservers <em>Dns nameservers</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getEnable_dhcp <em>Enable dhcp</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getGateway_ip <em>Gateway ip</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getHost_routes <em>Host routes</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getIp_version <em>Ip version</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getNetwork_id <em>Network id</em>}</li>
+ * <li>{@link org.openecomp.ncomp.openstack.neutron.impl.SubnetImpl#getTenant_id <em>Tenant id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SubnetImpl extends NeutronObjectImpl implements Subnet {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ADMIN_STATE_UP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdmin_state_up() <em>Admin state up</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdmin_state_up()
+ * @generated
+ * @ordered
+ */
+ protected Boolean admin_state_up = ADMIN_STATE_UP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCidr() <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCidr()
+ * @generated
+ * @ordered
+ */
+ protected static final String CIDR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCidr() <em>Cidr</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCidr()
+ * @generated
+ * @ordered
+ */
+ protected String cidr = CIDR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAllocation_pools() <em>Allocation pools</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocation_pools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AllocationPool> allocation_pools;
+
+ /**
+ * The cached value of the '{@link #getDns_nameservers() <em>Dns nameservers</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDns_nameservers()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> dns_nameservers;
+
+ /**
+ * The default value of the '{@link #getEnable_dhcp() <em>Enable dhcp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnable_dhcp()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ENABLE_DHCP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnable_dhcp() <em>Enable dhcp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnable_dhcp()
+ * @generated
+ * @ordered
+ */
+ protected Boolean enable_dhcp = ENABLE_DHCP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getGateway_ip() <em>Gateway ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGateway_ip()
+ * @generated
+ * @ordered
+ */
+ protected static final String GATEWAY_IP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGateway_ip() <em>Gateway ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGateway_ip()
+ * @generated
+ * @ordered
+ */
+ protected String gateway_ip = GATEWAY_IP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getHost_routes() <em>Host routes</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost_routes()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> host_routes;
+
+ /**
+ * The default value of the '{@link #getIp_version() <em>Ip version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_version()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer IP_VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIp_version() <em>Ip version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIp_version()
+ * @generated
+ * @ordered
+ */
+ protected Integer ip_version = IP_VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String NETWORK_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNetwork_id() <em>Network id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNetwork_id()
+ * @generated
+ * @ordered
+ */
+ protected String network_id = NETWORK_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected static final String TENANT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTenant_id() <em>Tenant id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTenant_id()
+ * @generated
+ * @ordered
+ */
+ protected String tenant_id = TENANT_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubnetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeutronPackage.Literals.SUBNET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__STATUS, oldStatus, status));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAdmin_state_up() {
+ return admin_state_up;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdmin_state_up(Boolean newAdmin_state_up) {
+ Boolean oldAdmin_state_up = admin_state_up;
+ admin_state_up = newAdmin_state_up;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__ADMIN_STATE_UP, oldAdmin_state_up, admin_state_up));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCidr() {
+ return cidr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCidr(String newCidr) {
+ String oldCidr = cidr;
+ cidr = newCidr;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__CIDR, oldCidr, cidr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AllocationPool> getAllocation_pools() {
+ if (allocation_pools == null) {
+ allocation_pools = new EObjectContainmentEList<AllocationPool>(AllocationPool.class, this, NeutronPackage.SUBNET__ALLOCATION_POOLS);
+ }
+ return allocation_pools;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getDns_nameservers() {
+ if (dns_nameservers == null) {
+ dns_nameservers = new EDataTypeEList<String>(String.class, this, NeutronPackage.SUBNET__DNS_NAMESERVERS);
+ }
+ return dns_nameservers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getEnable_dhcp() {
+ return enable_dhcp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnable_dhcp(Boolean newEnable_dhcp) {
+ Boolean oldEnable_dhcp = enable_dhcp;
+ enable_dhcp = newEnable_dhcp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__ENABLE_DHCP, oldEnable_dhcp, enable_dhcp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getGateway_ip() {
+ return gateway_ip;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGateway_ip(String newGateway_ip) {
+ String oldGateway_ip = gateway_ip;
+ gateway_ip = newGateway_ip;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__GATEWAY_IP, oldGateway_ip, gateway_ip));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getHost_routes() {
+ if (host_routes == null) {
+ host_routes = new EDataTypeEList<String>(String.class, this, NeutronPackage.SUBNET__HOST_ROUTES);
+ }
+ return host_routes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Integer getIp_version() {
+ return ip_version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIp_version(Integer newIp_version) {
+ Integer oldIp_version = ip_version;
+ ip_version = newIp_version;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__IP_VERSION, oldIp_version, ip_version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNetwork_id() {
+ return network_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNetwork_id(String newNetwork_id) {
+ String oldNetwork_id = network_id;
+ network_id = newNetwork_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__NETWORK_ID, oldNetwork_id, network_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTenant_id() {
+ return tenant_id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTenant_id(String newTenant_id) {
+ String oldTenant_id = tenant_id;
+ tenant_id = newTenant_id;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeutronPackage.SUBNET__TENANT_ID, oldTenant_id, tenant_id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NeutronPackage.SUBNET__ALLOCATION_POOLS:
+ return ((InternalEList<?>)getAllocation_pools()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeutronPackage.SUBNET__ID:
+ return getId();
+ case NeutronPackage.SUBNET__NAME:
+ return getName();
+ case NeutronPackage.SUBNET__STATUS:
+ return getStatus();
+ case NeutronPackage.SUBNET__ADMIN_STATE_UP:
+ return getAdmin_state_up();
+ case NeutronPackage.SUBNET__CIDR:
+ return getCidr();
+ case NeutronPackage.SUBNET__ALLOCATION_POOLS:
+ return getAllocation_pools();
+ case NeutronPackage.SUBNET__DNS_NAMESERVERS:
+ return getDns_nameservers();
+ case NeutronPackage.SUBNET__ENABLE_DHCP:
+ return getEnable_dhcp();
+ case NeutronPackage.SUBNET__GATEWAY_IP:
+ return getGateway_ip();
+ case NeutronPackage.SUBNET__HOST_ROUTES:
+ return getHost_routes();
+ case NeutronPackage.SUBNET__IP_VERSION:
+ return getIp_version();
+ case NeutronPackage.SUBNET__NETWORK_ID:
+ return getNetwork_id();
+ case NeutronPackage.SUBNET__TENANT_ID:
+ return getTenant_id();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeutronPackage.SUBNET__ID:
+ setId((String)newValue);
+ return;
+ case NeutronPackage.SUBNET__NAME:
+ setName((String)newValue);
+ return;
+ case NeutronPackage.SUBNET__STATUS:
+ setStatus((String)newValue);
+ return;
+ case NeutronPackage.SUBNET__ADMIN_STATE_UP:
+ setAdmin_state_up((Boolean)newValue);
+ return;
+ case NeutronPackage.SUBNET__CIDR:
+ setCidr((String)newValue);
+ return;
+ case NeutronPackage.SUBNET__ALLOCATION_POOLS:
+ getAllocation_pools().clear();
+ getAllocation_pools().addAll((Collection<? extends AllocationPool>)newValue);
+ return;
+ case NeutronPackage.SUBNET__DNS_NAMESERVERS:
+ getDns_nameservers().clear();
+ getDns_nameservers().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.SUBNET__ENABLE_DHCP:
+ setEnable_dhcp((Boolean)newValue);
+ return;
+ case NeutronPackage.SUBNET__GATEWAY_IP:
+ setGateway_ip((String)newValue);
+ return;
+ case NeutronPackage.SUBNET__HOST_ROUTES:
+ getHost_routes().clear();
+ getHost_routes().addAll((Collection<? extends String>)newValue);
+ return;
+ case NeutronPackage.SUBNET__IP_VERSION:
+ setIp_version((Integer)newValue);
+ return;
+ case NeutronPackage.SUBNET__NETWORK_ID:
+ setNetwork_id((String)newValue);
+ return;
+ case NeutronPackage.SUBNET__TENANT_ID:
+ setTenant_id((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.SUBNET__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__ADMIN_STATE_UP:
+ setAdmin_state_up(ADMIN_STATE_UP_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__CIDR:
+ setCidr(CIDR_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__ALLOCATION_POOLS:
+ getAllocation_pools().clear();
+ return;
+ case NeutronPackage.SUBNET__DNS_NAMESERVERS:
+ getDns_nameservers().clear();
+ return;
+ case NeutronPackage.SUBNET__ENABLE_DHCP:
+ setEnable_dhcp(ENABLE_DHCP_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__GATEWAY_IP:
+ setGateway_ip(GATEWAY_IP_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__HOST_ROUTES:
+ getHost_routes().clear();
+ return;
+ case NeutronPackage.SUBNET__IP_VERSION:
+ setIp_version(IP_VERSION_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__NETWORK_ID:
+ setNetwork_id(NETWORK_ID_EDEFAULT);
+ return;
+ case NeutronPackage.SUBNET__TENANT_ID:
+ setTenant_id(TENANT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeutronPackage.SUBNET__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NeutronPackage.SUBNET__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NeutronPackage.SUBNET__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT.equals(status);
+ case NeutronPackage.SUBNET__ADMIN_STATE_UP:
+ return ADMIN_STATE_UP_EDEFAULT == null ? admin_state_up != null : !ADMIN_STATE_UP_EDEFAULT.equals(admin_state_up);
+ case NeutronPackage.SUBNET__CIDR:
+ return CIDR_EDEFAULT == null ? cidr != null : !CIDR_EDEFAULT.equals(cidr);
+ case NeutronPackage.SUBNET__ALLOCATION_POOLS:
+ return allocation_pools != null && !allocation_pools.isEmpty();
+ case NeutronPackage.SUBNET__DNS_NAMESERVERS:
+ return dns_nameservers != null && !dns_nameservers.isEmpty();
+ case NeutronPackage.SUBNET__ENABLE_DHCP:
+ return ENABLE_DHCP_EDEFAULT == null ? enable_dhcp != null : !ENABLE_DHCP_EDEFAULT.equals(enable_dhcp);
+ case NeutronPackage.SUBNET__GATEWAY_IP:
+ return GATEWAY_IP_EDEFAULT == null ? gateway_ip != null : !GATEWAY_IP_EDEFAULT.equals(gateway_ip);
+ case NeutronPackage.SUBNET__HOST_ROUTES:
+ return host_routes != null && !host_routes.isEmpty();
+ case NeutronPackage.SUBNET__IP_VERSION:
+ return IP_VERSION_EDEFAULT == null ? ip_version != null : !IP_VERSION_EDEFAULT.equals(ip_version);
+ case NeutronPackage.SUBNET__NETWORK_ID:
+ return NETWORK_ID_EDEFAULT == null ? network_id != null : !NETWORK_ID_EDEFAULT.equals(network_id);
+ case NeutronPackage.SUBNET__TENANT_ID:
+ return TENANT_ID_EDEFAULT == null ? tenant_id != null : !TENANT_ID_EDEFAULT.equals(tenant_id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", status: ");
+ result.append(status);
+ result.append(", admin_state_up: ");
+ result.append(admin_state_up);
+ result.append(", cidr: ");
+ result.append(cidr);
+ result.append(", dns_nameservers: ");
+ result.append(dns_nameservers);
+ result.append(", enable_dhcp: ");
+ result.append(enable_dhcp);
+ result.append(", gateway_ip: ");
+ result.append(gateway_ip);
+ result.append(", host_routes: ");
+ result.append(host_routes);
+ result.append(", ip_version: ");
+ result.append(ip_version);
+ result.append(", network_id: ");
+ result.append(network_id);
+ result.append(", tenant_id: ");
+ result.append(tenant_id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SubnetImpl
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronAdapterFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronAdapterFactory.java
new file mode 100644
index 0000000..7d3bd4b
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronAdapterFactory.java
@@ -0,0 +1,485 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.util;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.openecomp.ncomp.openstack.neutron.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage
+ * @generated
+ */
+public class NeutronAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NeutronPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = NeutronPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeutronSwitch<Adapter> modelSwitch =
+ new NeutronSwitch<Adapter>() {
+ @Override
+ public Adapter caseNeutronService(NeutronService object) {
+ return createNeutronServiceAdapter();
+ }
+ @Override
+ public Adapter caseNeutronObject(NeutronObject object) {
+ return createNeutronObjectAdapter();
+ }
+ @Override
+ public Adapter caseNetwork(Network object) {
+ return createNetworkAdapter();
+ }
+ @Override
+ public Adapter caseSubnet(Subnet object) {
+ return createSubnetAdapter();
+ }
+ @Override
+ public Adapter caseAllocationPool(AllocationPool object) {
+ return createAllocationPoolAdapter();
+ }
+ @Override
+ public Adapter caseRouter(Router object) {
+ return createRouterAdapter();
+ }
+ @Override
+ public Adapter casePort(Port object) {
+ return createPortAdapter();
+ }
+ @Override
+ public Adapter caseNeutronSecurityGroup(NeutronSecurityGroup object) {
+ return createNeutronSecurityGroupAdapter();
+ }
+ @Override
+ public Adapter caseNeutronSecurityRule(NeutronSecurityRule object) {
+ return createNeutronSecurityRuleAdapter();
+ }
+ @Override
+ public Adapter caseNeutronFloatingIp(NeutronFloatingIp object) {
+ return createNeutronFloatingIpAdapter();
+ }
+ @Override
+ public Adapter caseBindingProfile(BindingProfile object) {
+ return createBindingProfileAdapter();
+ }
+ @Override
+ public Adapter caseBindingVifDetail(BindingVifDetail object) {
+ return createBindingVifDetailAdapter();
+ }
+ @Override
+ public Adapter caseFixedIp(FixedIp object) {
+ return createFixedIpAdapter();
+ }
+ @Override
+ public Adapter caseExternalGateway(ExternalGateway object) {
+ return createExternalGatewayAdapter();
+ }
+ @Override
+ public Adapter caseNeutronRequest(NeutronRequest object) {
+ return createNeutronRequestAdapter();
+ }
+ @Override
+ public Adapter caseCreateNetworkRequest(CreateNetworkRequest object) {
+ return createCreateNetworkRequestAdapter();
+ }
+ @Override
+ public Adapter caseCreateSubnetRequest(CreateSubnetRequest object) {
+ return createCreateSubnetRequestAdapter();
+ }
+ @Override
+ public Adapter caseCreateRouterRequest(CreateRouterRequest object) {
+ return createCreateRouterRequestAdapter();
+ }
+ @Override
+ public Adapter caseCreatePortRequest(CreatePortRequest object) {
+ return createCreatePortRequestAdapter();
+ }
+ @Override
+ public Adapter caseOpenStackRequest(OpenStackRequest object) {
+ return createOpenStackRequestAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronService <em>Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronService
+ * @generated
+ */
+ public Adapter createNeutronServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronObject
+ * @generated
+ */
+ public Adapter createNeutronObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.Network <em>Network</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.Network
+ * @generated
+ */
+ public Adapter createNetworkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.Subnet <em>Subnet</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.Subnet
+ * @generated
+ */
+ public Adapter createSubnetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.AllocationPool <em>Allocation Pool</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.AllocationPool
+ * @generated
+ */
+ public Adapter createAllocationPoolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.Router <em>Router</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.Router
+ * @generated
+ */
+ public Adapter createRouterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.Port <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.Port
+ * @generated
+ */
+ public Adapter createPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup <em>Security Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup
+ * @generated
+ */
+ public Adapter createNeutronSecurityGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule <em>Security Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronSecurityRule
+ * @generated
+ */
+ public Adapter createNeutronSecurityRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp <em>Floating Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp
+ * @generated
+ */
+ public Adapter createNeutronFloatingIpAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.BindingProfile <em>Binding Profile</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.BindingProfile
+ * @generated
+ */
+ public Adapter createBindingProfileAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.BindingVifDetail <em>Binding Vif Detail</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.BindingVifDetail
+ * @generated
+ */
+ public Adapter createBindingVifDetailAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.FixedIp <em>Fixed Ip</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.FixedIp
+ * @generated
+ */
+ public Adapter createFixedIpAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.ExternalGateway <em>External Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.ExternalGateway
+ * @generated
+ */
+ public Adapter createExternalGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.NeutronRequest <em>Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronRequest
+ * @generated
+ */
+ public Adapter createNeutronRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest <em>Create Network Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest
+ * @generated
+ */
+ public Adapter createCreateNetworkRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest <em>Create Subnet Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateSubnetRequest
+ * @generated
+ */
+ public Adapter createCreateSubnetRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.CreateRouterRequest <em>Create Router Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.CreateRouterRequest
+ * @generated
+ */
+ public Adapter createCreateRouterRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.neutron.CreatePortRequest <em>Create Port Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.neutron.CreatePortRequest
+ * @generated
+ */
+ public Adapter createCreatePortRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.core.OpenStackRequest <em>Open Stack Request</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.core.OpenStackRequest
+ * @generated
+ */
+ public Adapter createOpenStackRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //NeutronAdapterFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronSwitch.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronSwitch.java
new file mode 100644
index 0000000..0774772
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/neutron/util/NeutronSwitch.java
@@ -0,0 +1,542 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.neutron.util;
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest;
+
+import org.openecomp.ncomp.openstack.neutron.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.neutron.NeutronPackage
+ * @generated
+ */
+public class NeutronSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NeutronPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeutronSwitch() {
+ if (modelPackage == null) {
+ modelPackage = NeutronPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case NeutronPackage.NEUTRON_SERVICE: {
+ NeutronService neutronService = (NeutronService)theEObject;
+ T result = caseNeutronService(neutronService);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.NEUTRON_OBJECT: {
+ NeutronObject neutronObject = (NeutronObject)theEObject;
+ T result = caseNeutronObject(neutronObject);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.NETWORK: {
+ Network network = (Network)theEObject;
+ T result = caseNetwork(network);
+ if (result == null) result = caseNeutronObject(network);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.SUBNET: {
+ Subnet subnet = (Subnet)theEObject;
+ T result = caseSubnet(subnet);
+ if (result == null) result = caseNeutronObject(subnet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.ALLOCATION_POOL: {
+ AllocationPool allocationPool = (AllocationPool)theEObject;
+ T result = caseAllocationPool(allocationPool);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.ROUTER: {
+ Router router = (Router)theEObject;
+ T result = caseRouter(router);
+ if (result == null) result = caseNeutronObject(router);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.PORT: {
+ Port port = (Port)theEObject;
+ T result = casePort(port);
+ if (result == null) result = caseNeutronObject(port);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.NEUTRON_SECURITY_GROUP: {
+ NeutronSecurityGroup neutronSecurityGroup = (NeutronSecurityGroup)theEObject;
+ T result = caseNeutronSecurityGroup(neutronSecurityGroup);
+ if (result == null) result = caseNeutronObject(neutronSecurityGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.NEUTRON_SECURITY_RULE: {
+ NeutronSecurityRule neutronSecurityRule = (NeutronSecurityRule)theEObject;
+ T result = caseNeutronSecurityRule(neutronSecurityRule);
+ if (result == null) result = caseNeutronObject(neutronSecurityRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.NEUTRON_FLOATING_IP: {
+ NeutronFloatingIp neutronFloatingIp = (NeutronFloatingIp)theEObject;
+ T result = caseNeutronFloatingIp(neutronFloatingIp);
+ if (result == null) result = caseNeutronObject(neutronFloatingIp);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.BINDING_PROFILE: {
+ BindingProfile bindingProfile = (BindingProfile)theEObject;
+ T result = caseBindingProfile(bindingProfile);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.BINDING_VIF_DETAIL: {
+ BindingVifDetail bindingVifDetail = (BindingVifDetail)theEObject;
+ T result = caseBindingVifDetail(bindingVifDetail);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.FIXED_IP: {
+ FixedIp fixedIp = (FixedIp)theEObject;
+ T result = caseFixedIp(fixedIp);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.EXTERNAL_GATEWAY: {
+ ExternalGateway externalGateway = (ExternalGateway)theEObject;
+ T result = caseExternalGateway(externalGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.NEUTRON_REQUEST: {
+ NeutronRequest neutronRequest = (NeutronRequest)theEObject;
+ T result = caseNeutronRequest(neutronRequest);
+ if (result == null) result = caseOpenStackRequest(neutronRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.CREATE_NETWORK_REQUEST: {
+ CreateNetworkRequest createNetworkRequest = (CreateNetworkRequest)theEObject;
+ T result = caseCreateNetworkRequest(createNetworkRequest);
+ if (result == null) result = caseNeutronRequest(createNetworkRequest);
+ if (result == null) result = caseOpenStackRequest(createNetworkRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.CREATE_SUBNET_REQUEST: {
+ CreateSubnetRequest createSubnetRequest = (CreateSubnetRequest)theEObject;
+ T result = caseCreateSubnetRequest(createSubnetRequest);
+ if (result == null) result = caseNeutronRequest(createSubnetRequest);
+ if (result == null) result = caseOpenStackRequest(createSubnetRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.CREATE_ROUTER_REQUEST: {
+ CreateRouterRequest createRouterRequest = (CreateRouterRequest)theEObject;
+ T result = caseCreateRouterRequest(createRouterRequest);
+ if (result == null) result = caseNeutronRequest(createRouterRequest);
+ if (result == null) result = caseOpenStackRequest(createRouterRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeutronPackage.CREATE_PORT_REQUEST: {
+ CreatePortRequest createPortRequest = (CreatePortRequest)theEObject;
+ T result = caseCreatePortRequest(createPortRequest);
+ if (result == null) result = caseNeutronRequest(createPortRequest);
+ if (result == null) result = caseOpenStackRequest(createPortRequest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronService(NeutronService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Object</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Object</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronObject(NeutronObject object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Network</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Network</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNetwork(Network object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Subnet</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Subnet</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSubnet(Subnet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocation Pool</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocation Pool</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocationPool(AllocationPool object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Router</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Router</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRouter(Router object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePort(Port object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronSecurityGroup(NeutronSecurityGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Rule</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronSecurityRule(NeutronSecurityRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Floating Ip</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Floating Ip</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronFloatingIp(NeutronFloatingIp object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Binding Profile</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Binding Profile</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBindingProfile(BindingProfile object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Binding Vif Detail</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Binding Vif Detail</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBindingVifDetail(BindingVifDetail object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fixed Ip</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fixed Ip</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFixedIp(FixedIp object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>External Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>External Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExternalGateway(ExternalGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNeutronRequest(NeutronRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create Network Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Create Network Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreateNetworkRequest(CreateNetworkRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create Subnet Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Create Subnet Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreateSubnetRequest(CreateSubnetRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create Router Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Create Router Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreateRouterRequest(CreateRouterRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create Port Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Create Port Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreatePortRequest(CreatePortRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Request</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackRequest(OpenStackRequest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //NeutronSwitch
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackAdapterFactory.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackAdapterFactory.java
new file mode 100644
index 0000000..00e072a
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackAdapterFactory.java
@@ -0,0 +1,141 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.util;
+
+import org.openecomp.ncomp.openstack.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage
+ * @generated
+ */
+public class OpenstackAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static OpenstackPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = OpenstackPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpenstackSwitch<Adapter> modelSwitch =
+ new OpenstackSwitch<Adapter>() {
+ @Override
+ public Adapter caseOpenStackController(OpenStackController object) {
+ return createOpenStackControllerAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.openstack.OpenStackController <em>Open Stack Controller</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.openstack.OpenStackController
+ * @generated
+ */
+ public Adapter createOpenStackControllerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //OpenstackAdapterFactory
diff --git a/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackSwitch.java b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackSwitch.java
new file mode 100644
index 0000000..209bbe1
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore-gen/org/openecomp/ncomp/openstack/util/OpenstackSwitch.java
@@ -0,0 +1,131 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+/**
+ */
+package org.openecomp.ncomp.openstack.util;
+
+import org.openecomp.ncomp.openstack.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.ncomp.openstack.OpenstackPackage
+ * @generated
+ */
+public class OpenstackSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static OpenstackPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenstackSwitch() {
+ if (modelPackage == null) {
+ modelPackage = OpenstackPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case OpenstackPackage.OPEN_STACK_CONTROLLER: {
+ OpenStackController openStackController = (OpenStackController)theEObject;
+ T result = caseOpenStackController(openStackController);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Open Stack Controller</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Open Stack Controller</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOpenStackController(OpenStackController object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //OpenstackSwitch
diff --git a/ncomp-openstack-model/src/main/xcore/ceilometer.xcore b/ncomp-openstack-model/src/main/xcore/ceilometer.xcore
new file mode 100644
index 0000000..cc5d9aa
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore/ceilometer.xcore
@@ -0,0 +1,130 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+@GenModel(modelDirectory="/ncomp-openstack-model/src/main/xcore-gen")
+
+package org.openecomp.ncomp.openstack.ceilometer
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest
+import org.openecomp.ncomp.core.NamedEntity
+import org.openecomp.ncomp.openstack.compute.Link
+import org.openecomp.ncomp.openstack.compute.Metadata
+
+annotation "http://openecomp.org/sirius/openstack" as openstack
+
+abstract class CeilometerService {
+ op CeilometerAlarm createAlarm(CreateAlarmRequest request)
+ op void deleteAlarm(String projectName, String name)
+ op CeilometerSample[] createAlarm(SampleRequest request)
+ String[] ceilometerAvailableCapabilites
+ String[] ceilometerUnavailableCapabilites
+}
+
+abstract class CeilometerProject {
+ contains CeilometerAlarm[] alarms
+ contains CeilometerResource[] resources
+ contains CeilometerMeter[] meters
+}
+
+abstract class CeilometerAlarm extends NamedEntity {
+ String ^id
+ String user_id
+ Date timestamp
+ Boolean enabled
+ String state
+ Date state_timestamp
+ String description
+ String[] alarm_actions
+ String[] ok_actions
+ String[] insufficient_data_actions
+ Boolean repeat_actions
+ String[] time_constraints
+}
+
+class CeilometerThresholdAlarm extends CeilometerAlarm {
+ contains CeilometerThresholdAlarmRule threshold_rule
+
+}
+
+class CeilometerThresholdAlarmRule {
+ String meter_name
+ Long evaluation_periods
+ Long period
+ String statistic
+ double threshold
+ String[] query
+ String comparison_operator
+ Boolean exclude_outliers
+}
+
+
+class CeilometerResource {
+ String ^id
+ String user_id
+ String project_id
+ Date first_sample_timestamp
+ Date last_sample_timestamp
+ contains Link[] links
+ contains Metadata metadata
+}
+class CeilometerMeter {}
+
+class CeilometerQuery {
+ contains CeilometerFilter[] filter
+ contains CeilometerOrderedBy[] orderby
+ Long limit
+}
+
+class CeilometerFilter {
+ String operation
+ String value
+ String field
+ contains CeilometerFilter[] filters
+}
+
+class CeilometerOrderedBy {
+ String field
+ String direction
+}
+
+abstract class CeilometerRequest extends OpenStackRequest {
+
+}
+
+class CreateAlarmRequest extends CeilometerRequest {
+}
+
+class SampleRequest extends CeilometerRequest {
+ contains CeilometerQuery query
+}
+
+class CeilometerSample {
+ String counter_name
+ String user_id
+ String resource_id
+ Date timestamp
+ Date recorded_at
+ String message_id
+ String source
+ String counter_unit
+ double counter_volume
+ String project_id
+}
diff --git a/ncomp-openstack-model/src/main/xcore/compute.xcore b/ncomp-openstack-model/src/main/xcore/compute.xcore
new file mode 100644
index 0000000..fea7a78
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore/compute.xcore
@@ -0,0 +1,250 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+@GenModel(modelDirectory="/ncomp-openstack-model/src/main/xcore-gen")
+
+package org.openecomp.ncomp.openstack.compute
+
+import org.openecomp.ncomp.core.NamedEntity
+import org.openecomp.ncomp.openstack.core.OpenStackRequest
+import org.openecomp.ncomp.openstack.core.VirtualMachineType
+import org.openecomp.ncomp.core.User
+import org.openecomp.ncomp.openstack.core.OpenstackRequestDelete
+
+abstract class ComputeService {
+ op void createServer(OpenstackRequestNewServer request)
+ op void deleteServer(String projectName, String name)
+ op void createKeyPair(OpenstackRequestKeyPair request)
+ op void delete(OpenstackRequestDelete request)
+ op void createFlavor(OpenstackRequestFlavor request)
+ op void createSecurityGroup(OpenstackRequestSecurityGroup request)
+ op void serverAction(OpenstackRequestServerAction request)
+ op void deployVmType(String vmTypeName, String projectName)
+ op void undeployVmType(String vmTypeName, String projectName)
+ op void deployUser(User user, String projectName)
+ op void undeployUser(User user, String projectName)
+}
+
+class OpenstackRequestNewServer extends OpenStackRequest {
+ String name
+ String hypervisor
+ String user
+ String[] networks
+ String[] ports
+ String user_data
+ String floatingIp
+ contains VirtualMachineType vmType
+}
+
+
+class OpenstackRequestKeyPair extends OpenStackRequest {
+ contains User user
+}
+
+class OpenstackRequestFlavor extends OpenStackRequest {
+ contains VirtualMachineType vmType
+}
+
+class OpenstackRequestSecurityGroup extends OpenStackRequest {
+ contains VirtualMachineType vmType
+}
+
+class OpenstackRequestServerAction extends OpenStackRequest {
+ String name
+ String action
+}
+
+class OpenstackRequestPoll extends OpenStackRequest {
+}
+
+
+class Server {
+ String ^id
+ String tenant_id
+ String user_id
+ String name
+ String updated
+ String created
+ String hostId
+ String accessIPv4
+ String accessIPv6
+ String status
+ String config_drive
+ String key_name
+ int progress
+ String OS_DCF_diskConfig
+ int OS_EXT_STS_power_state
+ String OS_EXT_STS_vm_state
+ String OS_EXT_STS_task_state
+ String OS_EXT_SRV_ATTR_host
+ String OS_EXT_SRV_ATTR_instance_name
+ String OS_EXT_SRV_ATTR_hypervisor_hostname
+ String OS_SRV_USG_launched_at
+ String OS_SRV_USG_terminated_at
+ contains Reference image
+ contains Reference flavor
+ contains Addresses[] addresses
+ contains SecurityGroup[] security_groups
+ contains Metadata[] metadata
+ contains Link[] links
+ contains Fault fault
+
+
+
+
+
+
+
+}
+
+class Image {
+ String ^id
+ String name
+ String updated
+ String created
+ String tenant_id
+ String user_id
+ String status
+ Long progress
+ Long minDisk
+ Long minRam
+ Long OS_EXT_IMG_SIZE_size
+ contains Reference server
+ contains Link[] links
+ contains Metadata[] metadata
+}
+
+class Flavor {
+ String ^id
+ String name
+ int ram
+ int disk
+ int vcpus
+ String swap
+ double rxtx_factor
+ int OS_FLV_EXT_DATA_ephemeral
+ boolean OS_FLV_DISABLED_disabled
+ boolean os_flavor_access_is_public
+ contains Link[] links
+}
+
+class Addresses {
+ String name
+ contains Address[] ips
+}
+
+class Address {
+ int version
+ String addr
+ String OS_EXT_IPS_MAC_mac_addr
+ String OS_EXT_IPS_type
+}
+
+class Link {
+ String rel
+ String href
+ String ^type
+}
+
+class Metadata {
+ String key
+ String value
+}
+
+class Fault {
+ String message
+ String created
+ int code
+}
+
+class Personality {
+ String path
+ String contents
+}
+
+class Reference {
+ String ^id
+ contains Link[] links
+}
+
+class Volume extends NamedEntity {
+ String status
+ String display_name
+ contains VolumeAttachment[] attachments
+ String availability_zone
+ String created_at
+ String volume_type
+ contains Metadata[] metadata
+ String ^id
+ int size
+ String snapshot_id
+ String display_description
+}
+
+
+class VolumeAttachment {
+ String device
+ String server_id
+ String ^id
+ String volume_id
+}
+
+class FloatingIp {
+ String instance_id
+ String ip
+ String fixed_ip
+ String ^id
+ String pool
+}
+
+class SecurityGroup extends NamedEntity {
+ contains SecurityRule[] rules
+ String tenant_id
+ String ^id
+ String description
+}
+
+class SecurityRule {
+ Integer from_port
+ contains SecurityGroup group
+ String ip_protocol
+ Integer to_port
+ String parent_group_id
+ contains SecurityRange ip_range
+ String ^id
+}
+
+class SecurityRange {
+ String cidr
+}
+
+class KeyPair {
+ String public_key
+ String name
+ String fingerprint
+}
+
+
+
+
+
+
+
diff --git a/ncomp-openstack-model/src/main/xcore/core.xcore b/ncomp-openstack-model/src/main/xcore/core.xcore
new file mode 100644
index 0000000..eae2811
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore/core.xcore
@@ -0,0 +1,70 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+@GenModel(modelDirectory="/ncomp-openstack-model/src/main/xcore-gen")
+
+package org.openecomp.ncomp.openstack.core
+
+
+import org.openecomp.ncomp.core.NamedEntity
+import org.openecomp.ncomp.core.DeploymentStatus
+
+
+abstract class OpenStackRequest {
+ String projectName
+}
+
+
+class OpenstackRequestDelete extends OpenStackRequest {
+ String objectType
+ String objectName
+}
+
+class OpenstackRequestPoll extends OpenStackRequest {
+}
+
+
+class VirtualMachineType extends NamedEntity {
+ String description
+ int numberOfCores
+ int memorySizeMB
+ int rootDiskSizeGB
+ int diskSizeGB
+ int volumeSizeGB
+ String imageName
+ String flavorName
+ boolean needPublicIp
+ DeploymentStatus deploymentStatus
+ contains SecurityRule[] incomingSecurityRules
+ contains SecurityRule[] outboundSecurityRules
+}
+
+class SecurityRule extends NamedEntity {
+ Integer portRangeStart
+ Integer portRangeEnd
+ String prefix
+ SecurityRuleProtocol ipProtocol
+}
+
+enum SecurityRuleProtocol { none = 1000, tcp = 17, udp = 6, imcp = 0 }
+
+
+
diff --git a/ncomp-openstack-model/src/main/xcore/location.xcore b/ncomp-openstack-model/src/main/xcore/location.xcore
new file mode 100644
index 0000000..3c84ac9
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore/location.xcore
@@ -0,0 +1,149 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+@GenModel(modelDirectory="/ncomp-openstack-model/src/main/xcore-gen")
+
+package org.openecomp.ncomp.openstack.location
+
+import org.openecomp.ncomp.core.NamedEntity
+import org.openecomp.ncomp.openstack.compute.Flavor
+import org.openecomp.ncomp.openstack.compute.FloatingIp
+import org.openecomp.ncomp.openstack.compute.Image
+import org.openecomp.ncomp.openstack.compute.KeyPair
+import org.openecomp.ncomp.openstack.compute.SecurityGroup
+import org.openecomp.ncomp.openstack.compute.Server
+import org.openecomp.ncomp.openstack.compute.Volume
+import org.openecomp.ncomp.openstack.neutron.CreateNetworkRequest
+import org.openecomp.ncomp.openstack.neutron.Network
+import org.openecomp.ncomp.openstack.neutron.NeutronSecurityGroup
+import org.openecomp.ncomp.openstack.neutron.Port
+import org.openecomp.ncomp.openstack.neutron.Router
+import org.openecomp.ncomp.openstack.neutron.Subnet
+import org.openecomp.ncomp.openstack.neutron.NeutronService
+import org.openecomp.ncomp.openstack.compute.ComputeService
+import org.openecomp.ncomp.openstack.neutron.NeutronFloatingIp
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerService
+import org.openecomp.ncomp.openstack.ceilometer.CeilometerProject
+
+annotation 'http://openecomp.org/sirius/persistence' as persistence
+
+
+class OpenStackLocation extends NamedEntity, NeutronService, ComputeService, CeilometerService {
+ OpenStackVersion version
+ boolean remoteLocation = "false"
+ String remoteLocationName
+ boolean allowCreateFlavor
+ String keystoneUrl
+ String bypassIp
+ int flavorId = "20000"
+ boolean supportsSecurityGroups = "true"
+ boolean supportsFloatingIps = "true"
+ contains unordered OpenStackProject[] projects
+ contains unordered OpenStackUser[] users
+ contains unordered Image[] images //
+ contains unordered Flavor[] flavors //
+ contains unordered Hypervisor[] hypervisors
+ op void poll()
+ op void mergeLocation(OpenStackLocation loc)
+}
+
+enum OpenStackVersion {
+ Folsom,
+ Grizzly,
+ Havana,
+ Icehouse,
+ Juno,
+ Kilo,
+ Liberty,
+ Mitaka
+}
+
+class OpenStackProject extends NamedEntity, CeilometerProject {
+ String ID
+ String adminUser
+ String tenantId
+ String region
+ String privateNetwork
+ String publicNetwork
+ String apiKey // Rackspace
+ contains unordered Server[] servers //
+ refers unordered OpenStackUser[] users
+ refers OpenStackUser controllerUser
+ op void updateNovaState()
+ contains unordered Volume[] volumes
+ contains unordered FloatingIp[] ips
+ contains unordered SecurityGroup[] groups
+ contains unordered KeyPair[] keypairs
+ contains unordered Network[] networks
+ contains unordered Subnet[] subnets
+ contains unordered Router[] routers
+ contains unordered Port[] ports
+ contains unordered NeutronSecurityGroup[] security_groups
+ contains unordered NeutronFloatingIp[] floatingips
+ op Network createNetwork(CreateNetworkRequest r)
+}
+
+class OpenStackUser extends NamedEntity {
+ @persistence(propertyFile="bsa.properties")
+ transient String password
+}
+
+class HypervisorService {
+ String host // lab3-bsa-03-bay03
+ int ^id // 14
+}
+
+class HypervisorCpuTopology {
+ int cores // 8
+ int threads // 2
+ int sockets // 1
+}
+
+
+class HypervisorCpuInfo {
+ String vendor // Intel
+ String model // SandyBridge
+ String arch // x86_64
+ String[] features // ["pdpe1gb","osxsave","dca","pdcm","xtpr","tm2","est","smx","vmx","ds_cpl","monitor","dtes64","pbe","tm","ht","ss","acpi","ds","vme"]
+ contains HypervisorCpuTopology topology // {"cores":8,"threads":2,"sockets":1}
+}
+
+
+class Hypervisor extends NamedEntity {
+ contains HypervisorService service // {"host":"lab3-bsa-03-bay03","id":14}
+ String host_ip
+ int vcpus_used // 4
+ String hypervisor_type // QEMU
+ int local_gb_used // 60
+ String hypervisor_hostname //
+ int memory_mb_used // 20992
+ int memory_mb // 257922
+ int current_workload // 0
+ int vcpus // 64
+ contains HypervisorCpuInfo cpu_info // {"vendor": "Intel", "model": "SandyBridge", "arch": "x86_64", "features": ["pdpe1gb", "osxsave", "dca", "pdcm", "xtpr", "tm2", "est", "smx", "vmx", "ds_cpl", "monitor", "dtes64", "pbe", "tm", "ht", "ss", "acpi", "ds", "vme"], "topology": {"cores": 8, "threads": 2, "sockets": 1}}
+ int running_vms // 2
+ int free_disk_gb // 1007
+ int hypervisor_version // 1002000
+ int disk_available_least // 977
+ int local_gb // 1067
+ int free_ram_mb // 236930
+ int ^id // 2
+}
diff --git a/ncomp-openstack-model/src/main/xcore/neutron.xcore b/ncomp-openstack-model/src/main/xcore/neutron.xcore
new file mode 100644
index 0000000..c5f8fde
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore/neutron.xcore
@@ -0,0 +1,214 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+@GenModel(modelDirectory="/ncomp-openstack-model/src/main/xcore-gen")
+
+package org.openecomp.ncomp.openstack.neutron
+
+import org.openecomp.ncomp.openstack.core.OpenStackRequest
+
+annotation "http://openecomp.org/sirius/openstack" as openstack
+
+abstract class NeutronService {
+ op Network createNetwork(CreateNetworkRequest request)
+ op Subnet createSubnet(CreateSubnetRequest request)
+ op Port createPort(CreatePortRequest request)
+ op Router createRouter(CreateRouterRequest request)
+ op void deleteNetwork(String projectName, String name)
+ op void deleteSubnet(String projectName, String name)
+ op void deletePort(String projectName, String name)
+ op void deleteRouter(String projectName, String name)
+ op void associateFloatingIp(String projectName, String ipId, String portId)
+}
+
+
+abstract class NeutronObject {}
+
+class Network extends NeutronObject {
+ String ^id
+ String name
+ Boolean admin_state_up
+ String provider_network_type
+ String provider_physical_network
+ Integer provider_segmentation_id
+ Boolean router_external
+ Boolean shared
+ String status
+ String[] subnets
+ String tenant_id
+}
+
+class Subnet extends NeutronObject {
+ String ^id
+ String name
+ String status
+ Boolean admin_state_up
+ String cidr
+ contains AllocationPool[] allocation_pools
+ String[] dns_nameservers
+ Boolean enable_dhcp
+ String gateway_ip
+ String[] host_routes
+ Integer ip_version
+ String network_id
+ String tenant_id
+}
+
+class AllocationPool {
+ String start
+ String end
+}
+
+class Router extends NeutronObject {
+ String ^id
+ String name
+ String status
+ Boolean admin_state_up
+ contains ExternalGateway external_gateway_info
+ String tenant_id
+}
+
+class Port extends NeutronObject {
+ String ^id
+ String name
+ String status
+ Boolean admin_state_up
+ contains ExternalGateway external_gateway_info
+ String tenant_id
+ String[] allowed_address_pairs
+ String binding_host_id
+ contains BindingProfile binding_profile
+ contains BindingVifDetail binding_vif_details
+ String binding_vif_type
+ String binding_vnic_type
+ String device_id
+ String device_owner
+ String[] extra_dhcp_opts
+ contains FixedIp[] fixed_ips
+ String mac_address
+ String network_id
+ String[] security_groups
+}
+
+class NeutronSecurityGroup extends NeutronObject {
+ String ^id
+ String name
+ String description
+ contains NeutronSecurityRule[] security_group_rules
+ String tenant_id
+}
+
+class NeutronSecurityRule extends NeutronObject {
+ String ^id
+ String direction
+ String ethertype
+ Integer port_range_min
+ Integer port_range_max
+ String protocol
+ String remote_group_id
+ String remote_ip_prefix
+ String security_group_id
+ String tenant_id
+}
+
+class NeutronFloatingIp extends NeutronObject {
+ String ^id
+ String name
+ String status
+ String floating_network_id
+ String router_id
+ String fixed_ip_address
+ String floating_ip_address
+ String tenant_id
+ String port_id
+}
+
+
+class BindingProfile {
+}
+
+class BindingVifDetail {
+ Boolean ovs_hybrid_plug
+ Boolean port_filter
+}
+
+class FixedIp {
+ String ip_address
+ String subnet_id
+}
+
+class ExternalGateway {
+ Boolean enable_snat
+ String network_id
+}
+
+abstract class NeutronRequest extends OpenStackRequest {
+}
+
+class CreateNetworkRequest extends NeutronRequest {
+ String name
+ @openstack(name="provider:network_type")
+ String providerNetworkType
+ @openstack(name="provider:physical_network")
+ String providerPhysicalNetwork
+ @openstack(name="provider:segmentation_id")
+ int providerSegmentationId
+ Boolean admin_state_up
+ Boolean shared
+}
+
+class CreateSubnetRequest extends NeutronRequest {
+ String name
+ String[1] network_id
+ int ip_version
+ String cidr
+ contains AllocationPool[] allocation_pools
+ String[] dns_nameservers
+ Boolean enable_dhcp
+ String gateway_ip
+}
+
+class CreateRouterRequest extends NeutronRequest {
+ String name
+ Boolean admin_state_up
+ Boolean shared
+ String externalNetwork
+ String[] ports
+ String[] subnets
+}
+
+class CreatePortRequest extends NeutronRequest {
+ String name
+ @openstack(name="binding:vnic_type")
+ String bindingVnicType
+ String status
+ Boolean admin_state_up
+ @openstack(removeEmptyList="true")
+ contains FixedIp[] fixed_ips
+ String mac_address
+ String[1] network_id
+ //String[] security_groups
+}
+
+
+
+
+
diff --git a/ncomp-openstack-model/src/main/xcore/openstack.xcore b/ncomp-openstack-model/src/main/xcore/openstack.xcore
new file mode 100644
index 0000000..8c0fa9a
--- /dev/null
+++ b/ncomp-openstack-model/src/main/xcore/openstack.xcore
@@ -0,0 +1,40 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ */
+
+@GenModel(modelDirectory="/ncomp-openstack-model/src/main/xcore-gen")
+
+
+package org.openecomp.ncomp.openstack
+
+import org.openecomp.ncomp.core.User
+import org.openecomp.ncomp.openstack.core.VirtualMachineType
+import org.openecomp.ncomp.openstack.location.OpenStackLocation
+import org.openecomp.ncomp.core.RemoteContext
+
+class OpenStackController {
+ contains OpenStackLocation[] locations
+ contains VirtualMachineType[] vmTypes
+ contains User[] users
+ op void uploadOpenstackConfiguration(RemoteContext cx, OpenStackLocation loc)
+}
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..02be668
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,84 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.openecomp.ncomp.openstack</groupId>
+ <artifactId>ncomp-openstack</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>ncomp-openstack</name>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.target>1.7</maven.compiler.target>
+ <maven.compiler.source>1.7</maven.compiler.source>
+ </properties>
+
+
+
+ <pluginRepositories>
+ <!-- Black Duck plugin dependencies -->
+ <pluginRepository>
+ <id>JCenter</id>
+ <name>JCenter Repository</name>
+ <url>http://jcenter.bintray.com</url>
+ </pluginRepository>
+
+ <pluginRepository>
+ <id>Restlet</id>
+ <name>Restlet Repository</name>
+ <url>http://maven.restlet.com</url>
+ </pluginRepository>
+ </pluginRepositories>
+<build>
+ <plugins>
+
+ <!-- blackduck maven plugin -->
+ <plugin>
+ <groupId>com.blackducksoftware.integration</groupId>
+ <artifactId>hub-maven-plugin</artifactId>
+ <version>1.4.0</version>
+ <inherited>false</inherited>
+ <configuration>
+ <hubProjectName>${project.name}</hubProjectName>
+ <outputDirectory>${project.basedir}</outputDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-bdio-file</id>
+ <phase>package</phase>
+ <goals>
+ <goal>createHubOutput</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- site maven plugin -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.6</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>2.10</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ </plugins>
+ </build>
+ <modules>
+ <module>ncomp-openstack-model</module>
+ <module>ncomp-openstack-controller</module>
+ </modules>
+
+ <parent>
+ <groupId>org.openecomp.ncomp.maven</groupId>
+ <artifactId>ncomp-maven-base</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <relativePath>../dcae-org.openecomp.ncomp.maven/ncomp-maven-base</relativePath>
+ </parent>
+
+</project>