Module openstack¶
- License: Apache 2.0
- Version: 2.12.1
- Author: Inmanta <code@inmanta.com>
- This module requires compiler version 2017.1 or higher
- Upstream project: https://github.com/inmanta/openstack.git
Typedefs¶
-
typedef
openstack::admin_state
¶ - Base type
string
- Type constraint
((self == 'up') or (self == 'down'))
- Base type
-
typedef
openstack::direction
¶ - Base type
string
- Type constraint
((self == 'ingress') or (self == 'egress'))
- Base type
Entities¶
-
entity
openstack::AddressPair
¶ Parents:
std::Entity
An address pair that is added to a host port
-
attribute ip::cidr
address
¶ The address range that is allowed on this port (network interface)
-
attribute net::mac_addr
mac
¶
The following implements statements select implementations for this entity:
-
attribute ip::cidr
-
entity
openstack::EndPoint
¶ Parents:
openstack::OpenStackResource
-
attribute string
region
¶
-
attribute string
internal_url
¶
-
attribute string
public_url
¶
-
attribute string
admin_url
¶
-
attribute string
service_id
¶
-
relation openstack::Service
service
[1]¶ other end:
openstack::Service.endpoint [0:1]
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.endpoints [0:*]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::FloatingIP
¶ Parents:
openstack::OpenStackResource
-
attribute string
name
¶
-
attribute ip::ip
address
¶
-
attribute bool
force_ip
=False¶
-
relation openstack::Project
project
[1]¶ other end:
openstack::Project.floating_ips [0:*]
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.floating_ips [0:*]
-
relation openstack::Network
external_network
[1]¶ other end:
openstack::Network.floating_ips [0:*]
-
relation openstack::HostPort
port
[1]¶ other end:
openstack::HostPort.floating_ips [0:*]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::fipName
,openstack::providerRequire
openstack::fipAddr
constraint(not force_ip)
-
attribute string
-
entity
openstack::GroupRule
¶ Parents:
openstack::SecurityRule
-
relation openstack::SecurityGroup
remote_group
[1]¶ other end:
openstack::SecurityGroup.remote_group_rules [0:*]
The following implements statements select implementations for this entity:
-
relation openstack::SecurityGroup
-
entity
openstack::Host
¶ Parents:
ip::Host
,openstack::VMAttributes
-
attribute bool
purged
=False¶
-
relation openstack::VirtualMachine
vm
[1]¶ other end:
openstack::VirtualMachine.host [0:1]
-
relation openstack::Subnet
subnet
[0:1]¶
-
relation ssh::Key
key_pair
[1]¶
-
relation openstack::Project
project
[1]¶
-
relation openstack::Provider
provider
[1]¶
-
relation openstack::SecurityGroup
security_groups
[0:*]¶
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::eth0Port
constraintsubnet is defined is defined
std::hostDefaults
,openstack::openstackVM
openstack::userData
constraintinstall_agent
-
attribute bool
-
entity
openstack::HostPort
¶ Parents:
openstack::Port
A port attached to a VM
-
attribute string
name
¶ The name of the host port.
-
attribute bool
portsecurity
=True¶ Enable or disable port security (security groups and spoofing filters)
-
attribute bool
dhcp
=True¶ Enable dhcp for this port or not for this port
-
attribute number
port_index
=0¶ The index of the port. This determines the order of the interfaces on the virtual machine. 0 means no specific order.
-
attribute number
retries
=20¶ A hostport can only be attached to a VM when it is in an active state. The handler will skip this port when the VM is not ready. To speed up deployments, the handler can retry this number of times before skipping the resource.
-
attribute number
wait
=5¶ The number of seconds to wait between retries.
-
relation openstack::Subnet
subnet
[1]¶ other end:
openstack::Subnet.host_ports [0:*]
-
relation openstack::VirtualMachine
vm
[1]¶ other end:
openstack::VirtualMachine.ports [0:*]
-
relation openstack::FloatingIP
floating_ips
[0:*]¶ other end:
openstack::FloatingIP.port [1]
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::IPrule
¶ Parents:
openstack::SecurityRule
-
attribute ip::cidr
remote_prefix
¶
The following implements statements select implementations for this entity:
-
attribute ip::cidr
-
entity
openstack::Network
¶ Parents:
openstack::OpenStackResource
A neutron network owned by a project
-
attribute string
name
¶
-
attribute bool
external
=False¶
-
attribute string
physical_network
=''¶
-
attribute string
network_type
=''¶
-
attribute number
segmentation_id
=0¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.networks [0:*]
-
relation openstack::Project
project
[1]¶ other end:
openstack::Project.networks [0:*]
-
relation openstack::Subnet
subnets
[0:*]¶ other end:
openstack::Subnet.network [1]
-
relation openstack::Router
routers
[0:*]¶ other end:
openstack::Router.ext_gateway [0:1]
-
relation openstack::FloatingIP
floating_ips
[0:*]¶ other end:
openstack::FloatingIP.external_network [1]
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::OpenStackResource
¶ Parents:
std::PurgeableResource
,std::ManagedResource
The following implementations are defined for this entity:
-
entity
openstack::Port
¶ Parents:
openstack::OpenStackResource
A port on a network
-
attribute ip::ip
address
¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.ports [0:*]
-
relation openstack::Project
project
[1]¶ other end:
openstack::Project.ports [0:*]
-
relation openstack::AddressPair
allowed_address_pairs
[0:*]¶
-
attribute ip::ip
-
entity
openstack::Project
¶ Parents:
openstack::OpenStackResource
A project / tenant in openstack
-
attribute string
name
¶
-
attribute bool
enabled
=True¶
-
attribute string
description
=''¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.projects [0:*]
-
relation openstack::Role
roles
[0:*]¶ Each user can have multiple roles
other end:
openstack::Role.project [1]
-
relation openstack::Network
networks
[0:*]¶ other end:
openstack::Network.project [1]
-
relation openstack::Port
ports
[0:*]¶ other end:
openstack::Port.project [1]
-
relation openstack::Subnet
subnets
[0:*]¶ other end:
openstack::Subnet.project [1]
-
relation openstack::Router
routers
[0:*]¶ other end:
openstack::Router.project [1]
-
relation openstack::SecurityGroup
security_groups
[0:*]¶ other end:
openstack::SecurityGroup.project [1]
-
relation openstack::FloatingIP
floating_ips
[0:*]¶ other end:
openstack::FloatingIP.project [1]
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::Provider
¶ Parents:
std::Entity
The configuration for accessing an Openstack based IaaS
-
attribute string
name
¶
-
attribute string
connection_url
¶
-
attribute string
username
¶
-
attribute string
password
¶
-
attribute string
tenant
¶
-
attribute string
token
=''¶
-
attribute string
admin_url
=''¶
-
attribute bool
auto_agent
=True¶
-
relation openstack::Project
projects
[0:*]¶ other end:
openstack::Project.provider [1]
-
relation openstack::User
users
[0:*]¶ other end:
openstack::User.provider [1]
-
relation openstack::Role
roles
[0:*]¶ other end:
openstack::Role.provider [1]
-
relation openstack::Service
services
[0:*]¶ other end:
openstack::Service.provider [1]
-
relation openstack::EndPoint
endpoints
[0:*]¶ other end:
openstack::EndPoint.provider [1]
-
relation openstack::Network
networks
[0:*]¶ other end:
openstack::Network.provider [1]
-
relation openstack::Port
ports
[0:*]¶ other end:
openstack::Port.provider [1]
-
relation openstack::Subnet
subnets
[0:*]¶ other end:
openstack::Subnet.provider [1]
-
relation openstack::Router
routers
[0:*]¶ other end:
openstack::Router.provider [1]
-
relation openstack::SecurityGroup
security_groups
[0:*]¶ other end:
openstack::SecurityGroup.provider [1]
-
relation openstack::FloatingIP
floating_ips
[0:*]¶ other end:
openstack::FloatingIP.provider [1]
-
relation openstack::VirtualMachine
virtual_machines
[0:*]¶ other end:
openstack::VirtualMachine.provider [1]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
std::none
openstack::agentConfig
constraintauto_agent
-
attribute string
-
entity
openstack::Role
¶ Parents:
openstack::OpenStackResource
A role in openstack. A role defines membership of a user in a project. This entity is used to connect users to projects. With this, it implicitly defines the role.
-
attribute string
role_id
¶
-
attribute string
role
¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.roles [0:*]
-
relation openstack::Project
project
[1]¶ Each user can have multiple roles
other end:
openstack::Project.roles [0:*]
-
relation openstack::User
user
[1]¶ other end:
openstack::User.roles [0:*]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::Route
¶ Parents:
std::Entity
A routing rule to add
-
attribute ip::cidr
destination
¶
-
attribute ip::ip
nexthop
¶
-
relation openstack::Router
router
[0:1]¶ other end:
openstack::Router.routes [0:*]
The following implements statements select implementations for this entity:
-
attribute ip::cidr
-
entity
openstack::Router
¶ Parents:
openstack::OpenStackResource
A router
-
attribute openstack::admin_state
admin_state
='up'¶
-
attribute string
name
¶
-
attribute bool
ha
=False¶
-
attribute bool
distributed
=False¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.routers [0:*]
-
relation openstack::Project
project
[1]¶ other end:
openstack::Project.routers [0:*]
-
relation openstack::RouterPort
ports
[0:*]¶ other end:
openstack::RouterPort.router [1]
-
relation openstack::Subnet
subnets
[0:*]¶ other end:
openstack::Subnet.router [0:1]
-
relation openstack::Network
ext_gateway
[0:1]¶ other end:
openstack::Network.routers [0:*]
-
relation openstack::Route
routes
[0:*]¶ other end:
openstack::Route.router [0:1]
The following implements statements select implementations for this entity:
-
attribute openstack::admin_state
-
entity
openstack::RouterPort
¶ Parents:
openstack::Port
A port attached to a router
-
attribute string
name
¶
-
relation openstack::Subnet
subnet
[1]¶ other end:
openstack::Subnet.routers [0:*]
-
relation openstack::Router
router
[1]¶ other end:
openstack::Router.ports [0:*]
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::SecurityGroup
¶ Parents:
openstack::OpenStackResource
-
attribute string
description
=''¶
-
attribute string
name
¶
-
attribute bool
manage_all
=True¶
-
attribute number
retries
=10¶ A security group can only be deleted when it is no longer in use. The API confirms the delete of a virtual machine for example, but it might still be in progress. This results in a failure to delete the security group. To speed up deployments, the handler can retry this number of times before skipping the resource.
-
attribute number
wait
=5¶ The number of seconds to wait between retries.
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.security_groups [0:*]
-
relation openstack::Project
project
[1]¶ other end:
openstack::Project.security_groups [0:*]
-
relation openstack::VirtualMachine
virtual_machines
[0:*]¶
-
relation openstack::GroupRule
remote_group_rules
[0:*]¶ other end:
openstack::GroupRule.remote_group [1]
-
relation openstack::SecurityRule
rules
[0:*]¶ other end:
openstack::SecurityRule.group [1]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::SecurityRule
¶ Parents:
std::Entity
A filter rule in the a security group
-
attribute ip::protocol
ip_protocol
¶ The type of ip protocol to allow. Currently this support tcp/udp/icmp/sctp or all
-
attribute ip::port
port_min
=0¶
-
attribute ip::port
port_max
=0¶
-
attribute ip::port
port
=0¶
-
attribute openstack::direction
direction
¶
-
relation openstack::SecurityGroup
group
[1]¶ other end:
openstack::SecurityGroup.rules [0:*]
-
attribute ip::protocol
-
entity
openstack::Service
¶ Parents:
openstack::OpenStackResource
-
attribute string
name
¶
-
attribute string
type
¶
-
attribute string
description
¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.services [0:*]
-
relation openstack::EndPoint
endpoint
[0:1]¶ other end:
openstack::EndPoint.service [1]
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::Subnet
¶ Parents:
openstack::OpenStackResource
A neutron network subnet
-
attribute ip::cidr
network_address
¶
-
attribute bool
dhcp
¶
-
attribute string
name
¶
-
attribute string
allocation_start
=''¶
-
attribute string
allocation_end
=''¶
-
attribute ip::ip
dns_servers
=List()¶
-
attribute ip::ip
gateway_ip
¶
-
relation openstack::RouterPort
routers
[0:*]¶ other end:
openstack::RouterPort.subnet [1]
-
relation openstack::HostPort
host_ports
[0:*]¶ other end:
openstack::HostPort.subnet [1]
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.subnets [0:*]
-
relation openstack::Project
project
[1]¶ other end:
openstack::Project.subnets [0:*]
-
relation openstack::Network
network
[1]¶ other end:
openstack::Network.subnets [0:*]
-
relation openstack::Router
router
[0:1]¶ other end:
openstack::Router.subnets [0:*]
The following implements statements select implementations for this entity:
-
attribute ip::cidr
-
entity
openstack::User
¶ Parents:
openstack::OpenStackResource
A user in openstack. A handler for this entity type is loaded by agents.
-
attribute string
name
¶ The name of the user. The name of the user has to be unique on a specific IaaS. The handler will use this name to query for the exact user and its ID.
-
attribute string
email
¶ The email address of the user to use.
-
attribute bool
enabled
=True¶ Enable or disable this user
-
attribute string
password
=''¶ The password for this user. The handler will always reset back to this password. The handler will ignore this attribute when an empty string is set.
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.users [0:*]
-
relation openstack::Role
roles
[0:*]¶ other end:
openstack::Role.user [1]
The following implements statements select implementations for this entity:
-
attribute string
-
entity
openstack::VMAttributes
¶ Parents:
platform::UserdataVM
-
attribute string
flavor
¶
-
attribute string
image
¶
-
attribute string
user_data
¶
-
attribute bool
config_drive
=False¶
-
attribute bool
install_agent
=False¶
-
attribute string
-
entity
openstack::VirtualMachine
¶ Parents:
openstack::OpenStackResource
,openstack::VMAttributes
-
attribute string
name
¶
-
relation openstack::HostPort
ports
[0:*]¶ other end:
openstack::HostPort.vm [1]
-
relation openstack::SecurityGroup
security_groups
[0:*]¶
-
relation openstack::HostPort
eth0_port
[1]¶
-
relation ssh::Key
key_pair
[1]¶
-
relation openstack::Project
project
[1]¶
-
relation openstack::Provider
provider
[1]¶ other end:
openstack::Provider.virtual_machines [0:*]
-
relation openstack::Host
host
[0:1]¶ other end:
openstack::Host.vm [1]
The following implements statements select implementations for this entity:
openstack::providerRequire
openstack::userData
constraintinstall_agent
-
attribute string
Implementations¶
-
implementation
openstack::agentConfig
¶
-
implementation
openstack::endPoint
¶
-
implementation
openstack::eth0Port
¶
-
implementation
openstack::fipAddr
¶
-
implementation
openstack::fipName
¶
-
implementation
openstack::openstackVM
¶
-
implementation
openstack::providerRequire
¶
-
implementation
openstack::roleImpl
¶
-
implementation
openstack::sg
¶
-
implementation
openstack::userData
¶
Plugins¶
-
openstack.
find_flavor
(provider: openstack::Provider, vcpus: number, ram: number, pinned: bool=False) → string¶ Find the flavor that matches the closest to the resources requested.
Parameters: - vcpus – The number of virtual cpus in the flavor
- ram – The amount of ram in gigabyte
- pinned – Wether the CPUs need to be pinned (#vcpu == #pcpu)
-
openstack.
find_image
(provider: openstack::Provider, os: std::OS, name: string=None) → string¶ Search for an image that matches the given operating system. This plugin uses the os_distro and os_version tags of an image and the name and version attributes of the OS parameter.
If multiple images match, the most recent image is returned.
Parameters: - provider – The provider to query for an image
- os – The operating system and version (using os_distro and os_version metadata)
- name – An optional string that the image name should contain
Resources¶
-
class
openstack.
EndPoint
¶ - An endpoint for a service
- Resource for entity
openstack::EndPoint
- Id attribute
service_id
- Agent name
provider.name
- Handlers
openstack.EndpointHandler
- Resource for entity
-
class
openstack.
FloatingIP
¶ - A floating ip
- Resource for entity
openstack::FloatingIP
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.FloatingIPHandler
- Resource for entity
-
class
openstack.
HostPort
¶ - A port in a router
- Resource for entity
openstack::HostPort
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.HostPortHandler
- Resource for entity
-
class
openstack.
Network
¶ - This class represents a network in neutron
- Resource for entity
openstack::Network
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.NetworkHandler
- Resource for entity
-
class
openstack.
Project
¶ - This class represents a project in keystone
- Resource for entity
openstack::Project
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.ProjectHandler
- Resource for entity
-
class
openstack.
Role
¶ - A role that adds a user to a project
- Resource for entity
openstack::Role
- Id attribute
role_id
- Agent name
provider.name
- Handlers
openstack.RoleHandler
- Resource for entity
-
class
openstack.
Router
¶ - This class represent a router in neutron
- Resource for entity
openstack::Router
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.RouterHandler
- Resource for entity
-
class
openstack.
RouterPort
¶ - A port in a router
- Resource for entity
openstack::RouterPort
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.RouterPortHandler
- Resource for entity
-
class
openstack.
SecurityGroup
¶ - A security group in an OpenStack tenant
- Resource for entity
openstack::SecurityGroup
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.SecurityGroupHandler
- Resource for entity
-
class
openstack.
Service
¶ - A service for which endpoints can be registered
- Resource for entity
openstack::Service
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.ServiceHandler
- Resource for entity
-
class
openstack.
Subnet
¶ - This class represent a subnet in neutron
- Resource for entity
openstack::Subnet
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.SubnetHandler
- Resource for entity
-
class
openstack.
User
¶ - A user in keystone
- Resource for entity
openstack::User
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.UserHandler
- Resource for entity
-
class
openstack.
VirtualMachine
¶ - A virtual machine managed by a hypervisor or IaaS
- Resource for entity
openstack::VirtualMachine
- Id attribute
name
- Agent name
provider.name
- Handlers
openstack.VirtualMachineHandler
- Resource for entity
Handlers¶
-
class
openstack.
VirtualMachineHandler
¶ - Handler name
openstack
- Handler for entity
openstack::VirtualMachine
- Handler name
-
class
openstack.
NetworkHandler
¶ - Handler name
openstack
- Handler for entity
openstack::Network
- Handler name
-
class
openstack.
RouterHandler
¶ - Handler name
openstack
- Handler for entity
openstack::Router
- Handler name
-
class
openstack.
SubnetHandler
¶ - Handler name
openstack
- Handler for entity
openstack::Subnet
- Handler name
-
class
openstack.
RouterPortHandler
¶ - Handler name
openstack
- Handler for entity
openstack::RouterPort
- Handler name
-
class
openstack.
HostPortHandler
¶ - Handler name
openstack
- Handler for entity
openstack::HostPort
- Handler name
-
class
openstack.
SecurityGroupHandler
¶ - Handler name
openstack
- Handler for entity
openstack::SecurityGroup
- Handler name
-
class
openstack.
FloatingIPHandler
¶ - Handler name
openstack
- Handler for entity
openstack::FloatingIP
- Handler name
-
class
openstack.
ProjectHandler
¶ - Handler name
openstack
- Handler for entity
openstack::Project
- Handler name
-
class
openstack.
UserHandler
¶ - Handler name
openstack
- Handler for entity
openstack::User
- Handler name
-
class
openstack.
RoleHandler
¶ - creates roles and user, project, role assocations
- Handler name
openstack
- Handler for entity
openstack::Role
- Handler name
-
class
openstack.
ServiceHandler
¶ - Handler name
openstack
- Handler for entity
openstack::Service
- Handler name
-
class
openstack.
EndpointHandler
¶ - Handler name
openstack
- Handler for entity
openstack::EndPoint
- Handler name