aboutsummaryrefslogtreecommitdiffstats
path: root/ncomp-openstack-model/src/main/xcore/compute.xcore
diff options
context:
space:
mode:
Diffstat (limited to 'ncomp-openstack-model/src/main/xcore/compute.xcore')
-rw-r--r--ncomp-openstack-model/src/main/xcore/compute.xcore250
1 files changed, 250 insertions, 0 deletions
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
+}
+
+
+
+
+
+
+