X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=azure%2Faria%2Faria-extension-cloudify%2Fplugins%2Fopenstack%2Fplugin.yaml;fp=azure%2Faria%2Faria-extension-cloudify%2Fplugins%2Fopenstack%2Fplugin.yaml;h=8f3e6e65b727673ef5c1d167e74480be31c07aaa;hb=7409dfb144cf2a06210400134d822a1393462b1f;hp=0000000000000000000000000000000000000000;hpb=9e65649dfff8f00dc0a0ef6b10d020ae0e2255ba;p=multicloud%2Fazure.git diff --git a/azure/aria/aria-extension-cloudify/plugins/openstack/plugin.yaml b/azure/aria/aria-extension-cloudify/plugins/openstack/plugin.yaml new file mode 100644 index 0000000..8f3e6e6 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/plugins/openstack/plugin.yaml @@ -0,0 +1,1174 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. 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. +# +tosca_definitions_version: tosca_simple_yaml_1_0 + + +topology_template: + policies: + cloudify-openstack-plugin: + description: >- + openstack plugin executes operations. + type: aria.Plugin + properties: + version: 2.0.1 + + +data_types: + + aria.openstack.datatypes.Config: + description: >- + openstack configuration + properties: + username: + type: string + password: + type: string + tenant_name: + type: string + auth_url: + type: string + region: + type: string + required: false + nova_url: + type: string + required: false + neutron_url: + type: string + required: false + + aria.openstack.datatypes.Rules: + description: >- + openstack security group rules + properties: + remote_ip_prefix: + type: string + default: 0.0.0.0/0 + port: + type: integer + default: + + # source: https://developer.openstack.org/api-ref/compute/ + + aria.openstack.datatypes.Server: + description: >- + openstack Server args. + properties: + security_groups: + type: list + entry_schema: string + required: false + availability_zone: + type: string + required: false + userdata: + type: string + required: false + + aria.openstack.datatypes.Keypair: + description: >- + openstack keypair args. + properties: + public_key: + type: string + required: false + type: + type: string + required: false + user_id: + type: string + required: false + + # source: https://developer.openstack.org/api-ref/block-storage/v2/index.html + + aria.openstack.datatypes.Volume: + description: >- + openstack volume args. + properties: + size: + type: integer + required: false + description: + type: string + required: false + availability_zone: + type: string + required: false + consistencygroup_id: + type: string + required: false + volume_type: + type: string + required: false + snapshot_id: + type: string + required: false + source_replica: + type: string + required: false + tenant_id: + type: string + required: false + + # source: https://developer.openstack.org/api-ref/image/ + + aria.openstack.datatypes.Image: + description: >- + openstack image args. + properties: + id: + type: string + required: false + min_disk: + type: integer + required: false + min_ram: + type: integer + required: false + name: + type: string + required: false + protected: + type: boolean + required: false + tags: + type: list + entry_schema: string + required: false + visibility: + type: string + required: false + + # source: https://developer.openstack.org/api-ref/identity/v3/ + + aria.openstack.datatypes.Project: + description: >- + openstack image args. + properties: + is_domain: + type: boolean + required: false + description: + type: string + required: false + domain_id: + type: string + required: false + name: + type: string + required: false + enabled: + type: boolean + required: false + parent_id: + type: string + required: false + + # source: https://developer.openstack.org/api-ref/networking/v2/index.html + + aria.openstack.datatypes.Subnet: + description: >- + openstack subnet args. + properties: + network_id: + type: string + required: false + ip_version: + type: integer + required: false + default: 4 + cidr: + type: string + required: false + gateway_ip: + type: string + required: false + dns_nameservers: + type: list + entry_schema: string + required: false + enable_dhcp: + type: boolean + required: false + tenant_id: + type: string + required: false + + aria.openstack.datatypes.Port: + description: >- + openstack port args + properties: + network_id: + type: string + required: false + admin_state_up: + type: boolean + required: false + status: + type: string + required: false + mac_address: + type: string + required: false + device_id: + type: string + required: false + device_owner: + type: string + required: false + tenant_id: + type: string + required: false + + aria.openstack.datatypes.Network: + description: >- + openstack network args + properties: + admin_state_up: + type: boolean + required: false + status: + type: string + required: false + subnets: + type: list + entry_schema: string + required: false + shared: + type: boolean + required: false + tenant_id: + type: string + required: false + + aria.openstack.datatypes.SecurityGroup: + description: >- + openstack network args + properties: + admin_state_up: + type: boolean + required: false + port_security_enabled: + type: boolean + required: false + project_id: + type: string + required: false + qos_policy_id: + type: string + required: false + segments: + type: list + entry_schema: string + required: false + shared: + type: boolean + required: false + vlan_transparent: + type: boolean + required: false + tenant_id: + type: string + required: false + + aria.openstack.datatypes.Router: + description: >- + openstack network args + properties: + bgpvpn_id: + type: string + required: false + router_id: + type: string + required: false + + aria.openstack.datatypes.FloatingIP: + description: >- + openstack network args + properties: + tenant_id: + type: string + required: false + project_id: + type: string + required: false + floating_network_id: + type: string + required: false + floating_network_name: + type: string + required: false + fixed_ip_address: + type: string + required: false + floating_ip_address: + type: string + required: false + port_id: + type: string + required: false + subnet_id: + type: string + required: false + + +interface_types: + + aria.openstack.interfaces.validation: + derived_from: tosca.interfaces.Root + creation: + description: >- + creation operation for the openstack validation interface + deletion: + description: >- + deletion operation for the openstack validation interface + + +node_types: + + aria.openstack.nodes.Server: + derived_from: tosca.nodes.Compute + properties: + server: + default: {} + type: aria.openstack.datatypes.Server + required: false + ip: + default: + type: string + os_family: + description: >- + Property specifying what type of operating system family + this compute node will run. + default: linux + type: string + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + image: + default: '' + type: string + description: >- + The image for the server. + May receive either the ID or the name of the image. + note: This property is currently optional for backwards compatibility, + but will be modified to become a required property in future versions + (Default: ''). + flavor: + default: '' + type: string + description: >- + The flavor for the server. + May receive either the ID or the name of the flavor. + note: This property is currently optional for backwards compatibility, + but will be modified to become a required property in future versions + (Default: ''). + use_password: + default: false + type: boolean + description: >- + A boolean describing whether this server image supports user-password authentication. + Images that do should post the administrator user's password to the Openstack metadata service (e.g. via cloudbase); + The password would then be retrieved by the plugin, + decrypted using the server's keypair and then saved in the server's runtime properties. + management_network_name: + type: string + description: >- + The current implementation of the openstack plugin requires this field. The value of + this field should be set to the openstack name of a network this server is attached to. + openstack_config: + type: aria.openstack.datatypes.Config + required: false + description: >- + see Openstack Configuraion + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > nova_plugin.server.create + inputs: + args: + required: false + default: {} + type: aria.openstack.datatypes.Server + start: + implementation: cloudify-openstack-plugin > nova_plugin.server.start + inputs: + start_retry_interval: + default: 30 + type: integer + private_key_path: + type: string + default: '' + required: true + stop: cloudify-openstack-plugin > nova_plugin.server.stop + delete: cloudify-openstack-plugin > nova_plugin.server.delete + Validation: + type: aria.openstack.interfaces.validation + creation: + implementation: cloudify-openstack-plugin > nova_plugin.server.creation_validation + inputs: + args: + required: false + default: {} + type: aria.openstack.datatypes.Server + + requirements: + - floating_ip: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.FloatingIP + relationship: aria.openstack.server_connected_to_floating_ip + occurrences: [ 0, UNBOUNDED ] + - security_group: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.SecurityGroup + relationship: aria.openstack.server_connected_to_security_group + occurrences: [ 0, UNBOUNDED ] + - port: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.Port + relationship: aria.openstack.server_connected_to_port + occurrences: [ 0, UNBOUNDED ] + - key_pair: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.KeyPair + relationship: aria.openstack.server_connected_to_keypair + occurrences: [ 0, UNBOUNDED ] + capabilities: + openstack_container: + type: Node + + aria.openstack.nodes.WindowsServer: + derived_from: aria.openstack.nodes.Server + properties: + use_password: + default: true + type: boolean + description: >- + Default changed for derived type + because Windows instances need a password for agent installation + os_family: + default: windows + type: string + description: >- + (updates the os_family default as a convenience) + + aria.openstack.nodes.KeyPair: + derived_from: tosca.nodes.Root + properties: + keypair: + default: {} + type: aria.openstack.datatypes.Keypair + required: false + description: >- + the path (on the machine the plugin is running on) to + where the private key should be stored. If + use_external_resource is set to "true", the existing + private key is expected to be at this path. + private_key_path: + description: > + the path (on the machine the plugin is running on) to + where the private key should be stored. If + use_external_resource is set to "true", the existing + private key is expected to be at this path. + type: string + use_external_resource: + type: boolean + default: false + description: >- + a boolean describing whether this resource should be + created or rather that it already exists on Openstack + and should be used as-is. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + the name that will be given to the resource on Openstack (excluding optional prefix). + If not provided, a default name will be given instead. + If use_external_resource is set to "true", this exact + value (without any prefixes applied) will be looked for + as either the name or id of an existing keypair to be used. + openstack_config: + type: aria.openstack.datatypes.Config + required: false + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > nova_plugin.keypair.create + inputs: + args: + required: false + default: {} + type: aria.openstack.datatypes.Keypair + + delete: cloudify-openstack-plugin > nova_plugin.keypair.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > nova_plugin.keypair.creation_validation + + capabilities: + keypair: + type: tosca.capabilities.Node + + aria.openstack.nodes.Subnet: + derived_from: tosca.nodes.Root + properties: + subnet: + type: aria.openstack.datatypes.Subnet + required: false + default: + cidr: 172.16.0.0/16 + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > neutron_plugin.subnet.create + inputs: + args: + required: false + type: aria.openstack.datatypes.Subnet + default: + cidr: 172.16.0.0/16 + delete: cloudify-openstack-plugin > neutron_plugin.subnet.delete + Validation: + type: aria.openstack.interfaces.validation + creation: + implementation: cloudify-openstack-plugin > neutron_plugin.subnet.creation_validation + inputs: + args: + type: aria.openstack.datatypes.Subnet + required: false + default: + cidr: 172.16.0.0/16 + + requirements: + - router: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.Router + relationship: aria.openstack.subnet_connected_to_router + occurrences: [ 0, UNBOUNDED ] + - network: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.Network + capabilities: + subnet: + type: tosca.capabilities.Node + + aria.openstack.nodes.SecurityGroup: + derived_from: tosca.nodes.Root + properties: + security_group: + type: aria.openstack.datatypes.SecurityGroup + required: false + default: {} + description: + type: string + default: '' + description: >- + SecurityGroup description. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + rules: + default: [] + type: list + entry_schema: aria.openstack.datatypes.Rules + disable_default_egress_rules: + default: false + type: boolean + description: >- + a flag for removing the default rules which https://wiki.openstack.org/wiki/Neutron/SecurityGroups#Behavior. If not set to `true`, these rules will remain, and exist alongside any additional rules passed using the `rules` property. + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > neutron_plugin.security_group.create + inputs: + args: + type: aria.openstack.datatypes.SecurityGroup + required: false + default: {} + delete: cloudify-openstack-plugin > neutron_plugin.security_group.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > neutron_plugin.security_group.creation_validation + + capabilities: + security: + type: tosca.capabilities.Node + + aria.openstack.nodes.Router: + derived_from: tosca.nodes.Root + properties: + router: + type: aria.openstack.datatypes.Router + required: false + default: {} + external_network: + default: '' + type: string + description: >- + An external network name or ID. + If given, the router will use this external network as a gateway. + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + type: string + openstack_config: + type: aria.openstack.datatypes.Config + required: false + + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > neutron_plugin.router.create + inputs: + args: + default: {} + type: aria.openstack.datatypes.Router + required: false + delete: cloudify-openstack-plugin > neutron_plugin.router.delete + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > neutron_plugin.router.creation_validation + + capabilities: + gateway: + type: tosca.capabilities.Node + + aria.openstack.nodes.Port: + derived_from: tosca.nodes.Root + properties: + port: + type: aria.openstack.datatypes.Port + required: false + default: {} + fixed_ip: + default: '' + type: string + description: >- + may be used to request a specific fixed IP for the port. + If the IP is unavailable + (either already taken or does not belong to a subnet the port is on) + an error will be raised. + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > neutron_plugin.port.create + inputs: + args: + default: {} + type: aria.openstack.datatypes.Port + required: false + + delete: cloudify-openstack-plugin > neutron_plugin.port.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > neutron_plugin.port.creation_validation + + requirements: + - security_group: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.SecurityGroup + relationship: aria.openstack.port_connected_to_security_group + occurrences: [ 0, UNBOUNDED ] + - floating_ip: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.FloatingIP + relationship: aria.openstack.port_connected_to_floating_ip + occurrences: [ 0, UNBOUNDED ] + - subnet: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.Subnet + relationship: aria.openstack.port_connected_to_subnet + - network: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.Network + occurrences: [ 0, UNBOUNDED ] + capabilities: + entry_point: + type: tosca.capabilities.Node + + aria.openstack.nodes.Network: + derived_from: tosca.nodes.Root + properties: + network: + type: aria.openstack.datatypes.Network + required: false + default: {} + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > neutron_plugin.network.create + inputs: + args: + default: {} + type: aria.openstack.datatypes.Network + required: false + + delete: cloudify-openstack-plugin > neutron_plugin.network.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > neutron_plugin.network.creation_validation + + capabilities: + address_space: + type: tosca.capabilities.Node + + aria.openstack.nodes.FloatingIP: + derived_from: tosca.nodes.Root + attributes: + floating_ip_address: + type: string + properties: + floatingip: + type: aria.openstack.datatypes.FloatingIP + required: false + default: {} + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + description: IP address of the floating IP + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > neutron_plugin.floatingip.create + inputs: + args: + default: {} + type: aria.openstack.datatypes.FloatingIP + required: false + + delete: cloudify-openstack-plugin > neutron_plugin.floatingip.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > neutron_plugin.floatingip.creation_validation + + capabilities: + address: + type: tosca.capabilities.Node + + aria.openstack.nodes.Volume: + derived_from: tosca.nodes.Root + properties: + volume: + default: {} + type: aria.openstack.datatypes.Volume + description: >- + key-value volume configuration as described in http://developer.openstack.org/api-ref-blockstorage-v1.html#volumes-v1. (**DEPRECATED - Use the `args` input in create operation instead**) + use_external_resource: + type: boolean + default: false + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + device_name: + default: auto + type: string + description: >- + The device name this volume will be attached to. + Default value is *auto*, + which means openstack will auto-assign a device. + Note that if you do explicitly set a value, + this value may not be the actual device name assigned. + Sometimes the device requested will not be available and openstack will assign it to a different device, + this is why we recommend using *auto*. + openstack_config: + type: aria.openstack.datatypes.Config + required: false + boot: + type: boolean + default: false + description: >- + If a Server instance is connected to this Volume by a relationship, + this volume will be used as the boot volume for that Server. + interfaces: + Standard: + create: + implementation: cloudify-openstack-plugin > cinder_plugin.volume.create + inputs: + args: + default: {} + type: aria.openstack.datatypes.Volume + required: false + + status_attempts: + description: >- + Number of times to check for the creation's status before failing + type: integer + default: 20 + status_timeout: + description: >- + Interval (in seconds) between subsequent inquiries of the creation's + status + type: integer + default: 15 + delete: cloudify-openstack-plugin > cinder_plugin.volume.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > cinder_plugin.volume.creation_validation + + requirements: + - server: + capability: tosca.capabilities.Node + node: aria.openstack.nodes.Server + relationship: aria.openstack.volume_attached_to_server + + aria.openstack.nodes.Image: + derived_from: tosca.nodes.Root + properties: + image: + description: >- + Required parameters are (container_format, disk_format). Accepted + types are available on + http://docs.openstack.org/developer/glance/formats.html + To create an image from the local file its path should be added + in data parameter. + default: {} + type: map + entry_schema: string + image_url: + default: '' + type: string + description: >- + The openstack resource URL for the image. + use_external_resource: + default: false + type: boolean + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-openstack-plugin > glance_plugin.image.create + + start: + implementation: cloudify-openstack-plugin > glance_plugin.image.start + inputs: + start_retry_interval: + default: 30 + type: integer + + delete: cloudify-openstack-plugin > glance_plugin.image.delete + + Validation: + type: aria.openstack.interfaces.validation + creation: cloudify-openstack-plugin > glance_plugin.image.creation_validation + + aria.openstack.nodes.Project: + derived_from: tosca.nodes.Root + properties: + project: + default: {} + type: aria.openstack.datatypes.Project + description: >- + key-value project configuration. + users: + default: [] + type: list + entry_schema: string + description: >- + List of users assigned to this project in the following format: + { name: string, roles: [string] } + quota: + default: {} + type: map + entry_schema: string + description: | + A dictionary mapping service names to quota definitions for a proejct + + e.g:: + + quota: + neutron: + nova: + use_external_resource: + default: false + type: boolean + description: >- + a boolean for setting whether to create the resource or use an existing one. + See the using existing resources section. + create_if_missing: + default: false + type: boolean + description: >- + If use_external_resource is ``true`` and the resource is missing, + create it instead of failing. + resource_id: + default: '' + type: string + description: >- + name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string). + openstack_config: + type: aria.openstack.datatypes.Config + required: false + interfaces: + Standard: + create: openstack.keystone_plugin.project.create + start: openstack.keystone_plugin.project.start + delete: openstack.keystone_plugin.project.delete + Validation: + type: aria.openstack.interfaces.validation + creation: openstack.keystone_plugin.project.creation_validation + + +relationship_types: + + aria.openstack.port_connected_to_security_group: + derived_from: ConnectsTo + interfaces: + Configure: + add_source: cloudify-openstack-plugin > neutron_plugin.port.connect_security_group + + aria.openstack.subnet_connected_to_router: + derived_from: ConnectsTo + interfaces: + Configure: + add_target: cloudify-openstack-plugin > neutron_plugin.router.connect_subnet + remove_target: cloudify-openstack-plugin > neutron_plugin.router.disconnect_subnet + + aria.openstack.server_connected_to_floating_ip: + derived_from: ConnectsTo + interfaces: + Configure: + add_source: + implementation: cloudify-openstack-plugin > nova_plugin.server.connect_floatingip + inputs: + fixed_ip: + description: > + The fixed IP to be associated with the floating IP. + If omitted, Openstack will choose which port to associate. + type: string + default: '' + remove_source: cloudify-openstack-plugin > nova_plugin.server.disconnect_floatingip + + aria.openstack.port_connected_to_floating_ip: + derived_from: ConnectsTo + interfaces: + Configure: + add_source: cloudify-openstack-plugin > neutron_plugin.floatingip.connect_port + remove_source: cloudify-openstack-plugin > neutron_plugin.floatingip.disconnect_port + + aria.openstack.server_connected_to_security_group: + derived_from: ConnectsTo + interfaces: + Configure: + add_source: cloudify-openstack-plugin > nova_plugin.server.connect_security_group + remove_source: cloudify-openstack-plugin > nova_plugin.server.disconnect_security_group + + aria.openstack.server_connected_to_port: + derived_from: ConnectsTo + interfaces: + Configure: + remove_source: cloudify-openstack-plugin > neutron_plugin.port.detach + + aria.openstack.server_connected_to_keypair: + derived_from: ConnectsTo + + aria.openstack.port_connected_to_subnet: + derived_from: ConnectsTo + + aria.openstack.volume_attached_to_server: + derived_from: ConnectsTo + interfaces: + Configure: + add_target: + implementation: cloudify-openstack-plugin > nova_plugin.server.attach_volume + inputs: + + status_attempts: + description: > + Number of times to check for the attachment's status before failing + type: integer + default: 10 + status_timeout: + description: > + Interval (in seconds) between subsequent inquiries of the attachment's + status + type: integer + default: 2 + remove_target: + implementation: cloudify-openstack-plugin > nova_plugin.server.detach_volume + inputs: + + status_attempts: + description: > + Number of times to check for the detachment's status before failing + type: integer + default: 10 + status_timeout: + description: > + Interval (in seconds) between subsequent inquiries of the detachment's + status + type: integer + default: 2