summaryrefslogtreecommitdiffstats
path: root/azure/aria/aria-extension-cloudify/plugins/openstack/plugin.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'azure/aria/aria-extension-cloudify/plugins/openstack/plugin.yaml')
-rw-r--r--azure/aria/aria-extension-cloudify/plugins/openstack/plugin.yaml1174
1 files changed, 1174 insertions, 0 deletions
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: <quota>
+ nova: <quota>
+ 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