################################################################################## # Cloudify OpenStack built in types and plugins definitions. ################################################################################## plugins: openstack: executor: central_deployment_agent source: https://github.com/cloudify-cosmo/cloudify-openstack-plugin/archive/2.2.0.zip package_name: cloudify-openstack-plugin package_version: '2.2.0' node_types: cloudify.openstack.nodes.Server: derived_from: cloudify.nodes.Compute properties: server: default: {} description: > key-value server configuration as described in OpenStack compute create server API. (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 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). image: default: '' 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: '' 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: ''). management_network_name: default: '' description: > Cloudify's management network name. Every server should be connected to the management network. If the management network's name information is available in the Provider Context, this connection is made automatically and there's no need to override this property (See the Misc section for more information on the Openstack Provider Context). Otherwise, it is required to set the value of this property to the management network name as it was set in the bootstrap process. Note: When using Nova-net Openstack (see the Nova-net Support section), don't set this property. Defaults to '' (empty string). use_password: default: false 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. openstack_config: default: {} description: > see Openstack Configuraion interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.nova_plugin.server.create inputs: args: default: {} openstack_config: default: {} start: implementation: openstack.nova_plugin.server.start inputs: start_retry_interval: description: Polling interval until the server is active in seconds type: integer default: 30 private_key_path: description: > Path to private key which matches the server's public key. Will be used to decrypt password in case the "use_password" property is set to "true" type: string default: '' openstack_config: default: {} stop: implementation: openstack.nova_plugin.server.stop inputs: openstack_config: default: {} delete: implementation: openstack.nova_plugin.server.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.nova_plugin.server.creation_validation inputs: args: default: {} openstack_config: default: {} cloudify.openstack.nodes.WindowsServer: derived_from: cloudify.openstack.nodes.Server properties: use_password: default: true description: > Default changed for derived type because Windows instances need a password for agent installation os_family: default: windows description: > (updates the os_family default as a convenience) agent_config: type: cloudify.datatypes.AgentConfig default: port: 5985 description: > (updates the defaults for the agent_config for Windows) cloudify.openstack.nodes.KeyPair: derived_from: cloudify.nodes.Root properties: keypair: default: {} description: > the keypair object as described by Openstack. This parameter can be used to override and pass parameters directly to Nova client. Note that in the case of keypair, the only nested parameter that can be used is "name". 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. 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 description: > If use_external_resource is ``true`` and the resource is missing, create it instead of failing. resource_id: default: '' 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: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.nova_plugin.keypair.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.nova_plugin.keypair.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.nova_plugin.keypair.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Subnet: derived_from: cloudify.nodes.Subnet properties: subnet: default: {} description: > key-value subnet configuration as described at http://developer.openstack.org/api-ref-networking-v2.html#subnets. (**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 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.neutron_plugin.subnet.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.neutron_plugin.subnet.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.neutron_plugin.subnet.creation_validation inputs: args: default: {} openstack_config: default: {} cloudify.openstack.nodes.SecurityGroup: derived_from: cloudify.nodes.SecurityGroup properties: security_group: default: {} description: > key-value security_group configuration as described in http://developer.openstack.org/api-ref-networking-v2-ext.html#createSecGroup. (**DEPRECATED - Use the `args` input in create operation instead**) description: type: string default: '' description: > SecurityGroup description. create_if_missing: default: false 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: '' 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: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. rules: default: [] description: > key-value security_group_rule configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#security_groups disable_default_egress_rules: default: false 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: cloudify.interfaces.lifecycle: create: implementation: openstack.neutron_plugin.security_group.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.neutron_plugin.security_group.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.neutron_plugin.security_group.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Router: derived_from: cloudify.nodes.Router properties: router: default: {} description: > key-value router configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#layer3. (**DEPRECATED - Use the `args` input in create operation instead**) external_network: default: '' description: > An external network name or ID. If given, the router will use this external network as a gateway. default_to_managers_external_network: default: true description: > A boolean which determines whether to use the Cloudify Manager's external network if no other external network was given (whether by a relationship, by the `external_network` property or by the nested `external_gateway_info` key in the `router` property). This is only relevant if the manager's external network appears in the Provider-context. Defaults to `true`. 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 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.neutron_plugin.router.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.neutron_plugin.router.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.neutron_plugin.router.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Port: derived_from: cloudify.nodes.Port properties: port: default: {} description: > key-value port configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#ports. (**DEPRECATED - Use the `args` input in create operation instead**) fixed_ip: default: '' 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 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.neutron_plugin.port.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.neutron_plugin.port.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.neutron_plugin.port.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Network: derived_from: cloudify.nodes.Network properties: network: default: {} description: > key-value network configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#networks. (**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 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.neutron_plugin.network.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.neutron_plugin.network.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.neutron_plugin.network.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.FloatingIP: derived_from: cloudify.nodes.VirtualIP properties: floatingip: default: {} description: > key-value floatingip configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#layer3. (**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 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: '' openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.neutron_plugin.floatingip.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.neutron_plugin.floatingip.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.neutron_plugin.floatingip.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Volume: derived_from: cloudify.nodes.Volume properties: volume: default: {} 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 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). device_name: default: auto 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: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. 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: cloudify.interfaces.lifecycle: create: implementation: openstack.cinder_plugin.volume.create inputs: args: default: {} openstack_config: default: {} 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: implementation: openstack.cinder_plugin.volume.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.cinder_plugin.volume.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nova_net.nodes.FloatingIP: derived_from: cloudify.nodes.VirtualIP properties: floatingip: default: {} description: > key-value floatingip configuration as described in http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-floating-ips. (**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 description: > TODO: CREATE. THIS IS MISSING 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.nova_plugin.floatingip.create inputs: args: default: {} openstack_config: default: {} delete: implementation: openstack.nova_plugin.floatingip.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.nova_plugin.floatingip.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nova_net.nodes.SecurityGroup: derived_from: cloudify.nodes.SecurityGroup properties: security_group: default: {} description: > key-value security_group configuration as described in http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-security-groups. (**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 description: > TODO: CREATE. THIS IS MISSING 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. rules: default: [] description: > key-value security group rule as described in http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-security-group-default-rules. description: description: security group description interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.nova_plugin.security_group.create inputs: args: default: {} openstack_config: default: {} 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 delete: implementation: openstack.nova_plugin.security_group.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.nova_plugin.security_group.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Image: derived_from: cloudify.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: {} image_url: default: '' description: > The openstack resource URL for the image. use_external_resource: 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 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: implementation: openstack.glance_plugin.image.create inputs: openstack_config: default: {} start: implementation: openstack.glance_plugin.image.start inputs: start_retry_interval: default: 30 openstack_config: default: {} delete: implementation: openstack.glance_plugin.image.delete inputs: openstack_config: default: {} cloudify.interfaces.validation: creation: implementation: openstack.glance_plugin.image.creation_validation inputs: openstack_config: default: {} cloudify.openstack.nodes.Project: derived_from: cloudify.nodes.Root properties: project: default: {} description: > key-value project configuration. users: default: [] description: > List of users assigned to this project in the following format: { name: string, roles: [string] } quota: default: {} description: | A dictionary mapping service names to quota definitions for a proejct e.g:: quota: neutron: nova: use_external_resource: 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 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). openstack_config: default: {} description: > endpoints and authentication configuration for Openstack. Expected to contain the following nested fields: username, password, tenant_name, auth_url, region. interfaces: cloudify.interfaces.lifecycle: create: openstack.keystone_plugin.project.create start: openstack.keystone_plugin.project.start delete: openstack.keystone_plugin.project.delete cloudify.interfaces.validation: creation: openstack.keystone_plugin.project.creation_validation relationships: cloudify.openstack.port_connected_to_security_group: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: openstack.neutron_plugin.port.connect_security_group inputs: openstack_config: default: {} cloudify.openstack.subnet_connected_to_router: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: openstack.neutron_plugin.router.connect_subnet inputs: openstack_config: default: {} unlink: implementation: openstack.neutron_plugin.router.disconnect_subnet inputs: openstack_config: default: {} cloudify.openstack.server_connected_to_floating_ip: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: openstack.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: '' openstack_config: default: {} unlink: implementation: openstack.nova_plugin.server.disconnect_floatingip inputs: openstack_config: default: {} cloudify.openstack.port_connected_to_floating_ip: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: openstack.neutron_plugin.floatingip.connect_port inputs: openstack_config: default: {} unlink: implementation: openstack.neutron_plugin.floatingip.disconnect_port inputs: openstack_config: default: {} cloudify.openstack.server_connected_to_security_group: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: openstack.nova_plugin.server.connect_security_group inputs: openstack_config: default: {} unlink: implementation: openstack.nova_plugin.server.disconnect_security_group inputs: openstack_config: default: {} cloudify.openstack.server_connected_to_port: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: unlink: implementation: openstack.neutron_plugin.port.detach inputs: openstack_config: default: {} cloudify.openstack.server_connected_to_keypair: derived_from: cloudify.relationships.connected_to cloudify.openstack.port_connected_to_subnet: derived_from: cloudify.relationships.connected_to cloudify.openstack.volume_attached_to_server: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: openstack.nova_plugin.server.attach_volume inputs: openstack_config: default: {} 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 unlink: implementation: openstack.nova_plugin.server.detach_volume inputs: openstack_config: default: {} 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