Module openstack¶
License: Apache 2.0
Version: 5.1.1
Typedefs¶
- typedef openstack::admin_state¶
Base type
stringType constraint
((self == 'up') or (self == 'down'))
- typedef openstack::bdm_destination_type¶
Base type
stringType constraint
(self in ['local', 'volume'])
- typedef openstack::bdm_device_type¶
Base type
stringType constraint
(self in ['cdrom', 'disk'])
- typedef openstack::bdm_role¶
Base type
stringType constraint
(self in ['cdrom', 'data', 'boot'])
- typedef openstack::bdm_source_type¶
Base type
stringType constraint
(self in ['image', 'volume', 'snapshot', 'blank'])
- typedef openstack::container_format¶
Base type
stringType constraint
(self in ['ami', 'ari', 'aki', 'bare', 'ovf', 'ova', 'docker'])
- typedef openstack::direction¶
Base type
stringType constraint
((self == 'ingress') or (self == 'egress'))
- typedef openstack::disk_format¶
Base type
stringType constraint
(self in ['ami', 'ari', 'aki', 'vhd', 'vhdx', 'vmdk', 'raw', 'qcow2', 'vdi', 'iso', 'ploop'])
- typedef openstack::ipv6_mode¶
Base type
stringType constraint
(self in ['dhcpv6-stateful', 'dhcpv6-stateless', 'slaac'])
- typedef openstack::mac_addr¶
Base type
stringType constraint
std::validate_type('pydantic.constr',self,{'regex': '^([0-9a-fA-F]{2})(:[0-9a-fA-F]{2}){5}|$', 'strict': True})
- typedef openstack::protocol¶
Base type
stringType constraint
(self in ['tcp', 'udp', 'icmp', 'sctp', 'all'])
- typedef openstack::visibility¶
Base type
stringType constraint
(self in ['public', 'private'])
Entities¶
- entity openstack::AddressPair¶
Parents:
std::EntityAn address pair that is added to a host port
- attribute std::ipv4_network address¶
The address range that is allowed on this port (network interface)
- attribute openstack::mac_addr? mac=null¶
The following implements statements select implementations for this entity:
std::noneconstrainttrue
- entity openstack::BlockDevice¶
Parents:
std::EntityA block device attached to a VirtualMachine via block_device_mapping_v2.
- attribute openstack::bdm_source_type source_type='image'¶
image, volume, snapshot, or blank.
- attribute openstack::bdm_destination_type? destination_type=null¶
local = ephemeral disk, volume = Cinder volume.
- attribute openstack::bdm_device_type? device_type=null¶
cdrom or disk.
- attribute string? disk_bus=null¶
Override the bus: virtio, ide, scsi, etc. Nova picks a sensible default when omitted.
- attribute string? uuid=null¶
Glance image id, Cinder volume id, or snapshot id. Required for image/volume/snapshot; not used for blank.
- attribute int? boot_index=null¶
0 = primary boot device, -1 = not bootable.
- attribute bool delete_on_termination=true¶
Destroy the Cinder volume when the VM is deleted.
- attribute int? volume_size=null¶
Size in GB. Required for source_type=”blank”. For image/snapshot sources Nova derives the size from image.min_disk (or ceil(image.size)) when omitted.
- relation openstack::VirtualMachine vm [1]¶
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
std::noneconstrainttrueopenstack::bdmUuidRequiredconstraint(((source_type == 'image') or (source_type == 'volume')) or (source_type == 'snapshot'))openstack::bdmVolumeSizeRequiredconstraint(source_type == 'blank')
- entity openstack::Flavor¶
Parents:
openstack::OpenStackResourceA machine flavor for OpenStack VMs
- attribute string name¶
Descriptive name of the flavor. While OpenStack does not consider the name unique, this module does.
- attribute int ram¶
Memory in MB for the flavor
- attribute int vcpus¶
Number of VCPUs for the flavor
- attribute int disk¶
Size of local disk in GB
- attribute string? flavor_id=null¶
OpenStack unique ID. You can use the reserved value “auto” to have Nova generate a UUID for the flavor in cases where you cannot simply pass null.
- attribute int ephemeral=0¶
Ephemeral disk size in GB
- attribute int swap=0¶
Swap space in MB
- attribute float rxtx_factor=1.0¶
RX/TX factor
- attribute bool is_public=true¶
Whether the flavor is publicly visible
- attribute dict extra_specs={}¶
Set extra specs on a flavor. See https://docs.openstack.org/nova/rocky/admin/flavors.html
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.flavors [0:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::FloatingIP¶
Parents:
openstack::OpenStackResource- attribute string name¶
- attribute std::ipv4_address 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::providerRequireconstrainttrueopenstack::fipAddrconstraint(not force_ip)
- entity openstack::Group¶
Parents:
openstack::OpenStackResourceA group in openstack. Groups allow managing access for multiple users together.
- attribute string name¶
The name of the group. The name of the group has to be unique within a domain.
- attribute string description=''¶
A description of the group.
- attribute string domain='Default'¶
The domain in which the group exists.
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.groups [0:*]
- relation openstack::GroupRole group_roles [0:*]¶
other end:
openstack::GroupRole.group [0:1]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::GroupRole¶
Parents:
openstack::OpenStackResourceA role assignment for a group on a project. This entity is used to connect groups to projects with a specific role, allowing group-based access control in OpenStack.
- attribute string role¶
The name of the role to assign to the group.
- attribute string group_name¶
The name of the group to assign the role to.
- attribute string group_domain='Default'¶
The domain in which the group exists.
- attribute string domain=''¶
The domain in which the role exists. Leave empty for a global role (applies across all domains).
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.group_roles [0:*]
- relation openstack::Project project [1]¶
other end:
openstack::Project.group_roles [0:*]
- relation openstack::Group group [0:1]¶
other end:
openstack::Group.group_roles [0:*]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::groupRoleImpl,openstack::providerRequireconstrainttrue
- 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:
std::noneconstrainttrue
- entity openstack::Host¶
Parents:
std::Host,openstack::VMAttributes- attribute bool purged=false¶
Set whether this Host should exist or not.
- attribute bool purge_on_delete=false¶
Purge this Host when it is deleted from the configuration model.
- 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::eth0Portconstraintsubnet is definedstd::hostDefaults,openstack::openstackVMconstrainttrue
- entity openstack::HostAggregateMetadata¶
Parents:
openstack::OpenStackResourceA single metadata item (key/value) on a Nova host aggregate.
Each instance manages exactly one key on the named aggregate and leaves all other keys untouched, so multiple instances - and multiple consumers - can safely manage different keys on the same aggregate. Purging the resource removes the key from the aggregate again.
A typical use case is the
AggregateMultiTenancyIsolationscheduler filter, where keys of the formfilter_tenant_id_<suffix>pin projects to an aggregate.- attribute string aggregate¶
Name of the host aggregate to manage the metadata on. The aggregate must already exist; this resource does not create or delete it.
- attribute string key¶
The metadata key to manage.
- attribute string value¶
The value to set for
key.
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.host_aggregate_metadata [0:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::HostPort¶
Parents:
openstack::PortA port attached to a VM
- attribute std::ipv4_address? address=null¶
An optional fixed IPv4 to request. When omitted neutron assigns one; leave unset for an IPv6-only port. Ignored when dhcp is true.
- attribute std::ipv6_address? address_v6=null¶
An optional fixed IPv6 to request from an IPv6 subnet on the port’s network. When omitted no IPv6 is requested. Ignored when dhcp is true.
- 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 int 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 int 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 int wait=5¶
The number of seconds to wait between retries.
- relation openstack::SubnetBase subnet [1]¶
other end:
openstack::SubnetBase.host_ports [0:*]
- relation openstack::VirtualMachine vm [1]¶
other end:
openstack::VirtualMachine.ports [0:*]
- relation openstack::SecurityGroup security_groups [0:*]¶
- Rel security_groups:
The security groups to enforce on this port. When left empty (the default), the port’s security groups are left unmanaged for backward compatibility: existing groups (including the Neutron
defaultgroup) are kept untouched and never cleared. Requires portsecurity to be enabled.
- relation openstack::FloatingIP floating_ips [0:*]¶
other end:
openstack::FloatingIP.port [1]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrueopenstack::noSecurityGroupsWhenPortSecurityDisabledconstraint(not self.portsecurity)
- entity openstack::IPrule¶
Parents:
openstack::SecurityRule- attribute std::ipv4_network remote_prefix¶
The following implements statements select implementations for this entity:
std::noneconstrainttrue
- entity openstack::Image¶
Parents:
openstack::OpenStackResourceA machine image for OpenStack VMs
- attribute string name¶
Name for the flavor. Inmanta treats image names as unique per provider.
- attribute string? uri=null¶
a link to the download location of the image. Mutually exclusive with file.
- attribute string? file=null¶
an absolute path to a local image file on the agent machine. Mutually exclusive with uri. Uploaded directly to Glance; the ‘glance-direct’ import method is used instead when the cloud exposes it.
- attribute openstack::container_format? container_format='bare'¶
Must be one of [null, ami, ari, aki, bare, ovf, ova, docker].
- attribute openstack::disk_format? disk_format='qcow2'¶
Must be one of [null, ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso, ploop].
- attribute std::uuid? image_id=null¶
uuid to identify the image. Auto set by OpenStack if not set.
- attribute openstack::visibility visibility='public'¶
Whether the image is visible across all projects. Can either be public or private. Shared and community are currently not implemented.
- attribute bool protected=false¶
Whether the image can be deleted or not. Inmanta will never delete protected images.
- attribute dict metadata={}¶
Various metadata passed as a dict.
- attribute bool skip_on_deploy=true¶
When set, inmanta will not wait for the image to be deployed and mark it as skipped.
- attribute bool purge_on_delete=false¶
When set to true, the image will be removed when no longer present in the model.
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.images [0:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::Network¶
Parents:
openstack::OpenStackResourceA neutron network owned by a project
- attribute string name¶
- attribute bool external=false¶
- attribute string physical_network=''¶
- attribute string network_type=''¶
- attribute bool port_security_enabled=true¶
- attribute int segmentation_id=0¶
- attribute bool? vlan_transparent=null¶
- attribute int? mtu=null¶
- attribute string qos_policy=''¶
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.networks [0:*]
- relation openstack::Project project [1]¶
other end:
openstack::Project.networks [0:*]
- relation openstack::SubnetBase subnets [0:*]¶
other end:
openstack::SubnetBase.network [1]
- relation openstack::NetworkPort network_ports [0:*]¶
other end:
openstack::NetworkPort.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:
openstack::providerRequireconstrainttrue
- entity openstack::NetworkPort¶
Parents:
openstack::PortA standalone neutron port, managed directly on a network and not bound to a router or a virtual machine. This mirrors the
openstack port create --network <network> <name>command and is suitable as the parent port of aTrunkNetwork.- attribute bool portsecurity=true¶
Enable or disable port security (security groups and spoofing filters).
- attribute std::ipv4_address? address=null¶
An optional fixed ip address for the port. When omitted, neutron assigns one from the network. When set, a subnet must be provided.
- attribute string? mac_address=null¶
An optional MAC address for the port. When omitted, neutron assigns one. It is typed as a plain string (not the
mac_addrtypedef) so it can hold a fact reference resolved at deploy time, e.g.future::std::create_fact_reference(parent_port, "mac_address")to make a trunk sub-port share its parent port’s MAC. Set only at creation; neutron does not allow changing it afterwards.
- relation openstack::Network network [1]¶
other end:
openstack::Network.network_ports [0:*]
- relation openstack::Subnet subnet [0:1]¶
other end:
openstack::Subnet.network_ports [0:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::OpenStackResource¶
Parents:
std::PurgeableResource,std::ManagedResourceBase class for all openstack resources
- attribute bool send_event=true¶
Forced to default true. This means that all resources that subscribe to this resource will run their process events / reload.
The following implementations are defined for this entity:
- entity openstack::Port¶
Parents:
openstack::OpenStackResourceA port on a network
- attribute string name¶
The name of the port.
- 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:*]¶
- relation openstack::TrunkNetwork trunk [0:1]¶
other end:
openstack::TrunkNetwork.parent_port [1]
- relation openstack::TrunkPort trunk_subport [0:1]¶
other end:
openstack::TrunkPort.port [1]
- entity openstack::Project¶
Parents:
openstack::OpenStackResourceA project in openstack
- attribute string name¶
- attribute bool enabled=true¶
- attribute string description=''¶
- attribute string domain='Default'¶
- 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::GroupRole group_roles [0:*]¶
other end:
openstack::GroupRole.project [1]
- relation openstack::ProjectQuota quota [0:1]¶
other end:
openstack::ProjectQuota.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::SubnetBase subnets [0:*]¶
other end:
openstack::SubnetBase.project [1]
- relation openstack::QoSPolicy qos_policies [0:*]¶
other end:
openstack::QoSPolicy.project [1]
- relation openstack::TrunkNetwork trunks [0:*]¶
other end:
openstack::TrunkNetwork.project [1]
- relation openstack::TrunkPort trunk_ports [0:*]¶
other end:
openstack::TrunkPort.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:
openstack::providerRequireconstrainttrue
- entity openstack::ProjectQuota¶
Parents:
openstack::OpenStackResourceQuota limits for an OpenStack project across compute, storage, and network services. All quota values are optional - if not specified, they will not be managed.
- attribute int? cores=null¶
Number of allowed CPU cores (compute)
- attribute int? ram=null¶
Amount of allowed RAM in MB (compute)
- attribute int? instances=null¶
Number of allowed instances (compute)
- attribute int? injected_file_size=null¶
Maximum size of injected file content in bytes (compute)
- attribute int? injected_path_size=null¶
Maximum size of injected file path in bytes (compute)
- attribute int? injected_files=null¶
Number of allowed injected files (compute)
- attribute int? key_pairs=null¶
Number of allowed key pairs (compute)
- attribute int? properties=null¶
Number of allowed metadata properties per instance (compute)
- attribute int? server_groups=null¶
Number of allowed server groups (compute)
- attribute int? server_group_members=null¶
Number of allowed members per server group (compute)
- attribute int? gigabytes=null¶
Size of volumes and snapshots in GB (storage)
- attribute int? volumes=null¶
Number of allowed volumes (storage)
- attribute int? snapshots=null¶
Number of allowed snapshots (storage)
- attribute int? backups=null¶
Number of allowed backups (storage)
- attribute int? backup_gigabytes=null¶
Size of backups in GB (storage)
- attribute int? per_volume_gigabytes=null¶
Maximum size per volume in GB (storage)
- attribute int? floating_ips=null¶
Number of allowed floating IPs (network)
- attribute int? networks=null¶
Number of allowed networks (network)
- attribute int? ports=null¶
Number of allowed ports (network)
- attribute int? routers=null¶
Number of allowed routers (network)
- attribute int? security_groups=null¶
Number of allowed security groups (network)
- attribute int? security_group_rules=null¶
Number of allowed security group rules (network)
- attribute int? subnets=null¶
Number of allowed subnets (network)
- attribute int? subnet_pools=null¶
Number of allowed subnet pools (network)
- attribute int? rbac_policies=null¶
Number of allowed RBAC policies (network)
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.quotas [0:*]
- relation openstack::Project project [1]¶
other end:
openstack::Project.quota [0:1]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::providerRequire,openstack::projectRequireconstrainttrue
- entity openstack::Provider¶
Parents:
std::EntityThe configuration for accessing an Openstack based IaaS
- attribute string name¶
- attribute string connection_url¶
- attribute bool verify_cert=true¶
Indicates whether the SSL/TLS certificate should be verified.
- attribute string username¶
- attribute string password¶
- attribute string project_name¶
- attribute string user_domain_name='Default'¶
- attribute string project_domain_name='Default'¶
- 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::Group groups [0:*]¶
other end:
openstack::Group.provider [1]
- relation openstack::Role roles [0:*]¶
other end:
openstack::Role.provider [1]
- relation openstack::GroupRole group_roles [0:*]¶
other end:
openstack::GroupRole.provider [1]
- relation openstack::ProjectQuota quotas [0:*]¶
other end:
openstack::ProjectQuota.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::SubnetBase subnets [0:*]¶
other end:
openstack::SubnetBase.provider [1]
- relation openstack::QoSPolicy qos_policies [0:*]¶
other end:
openstack::QoSPolicy.provider [1]
- relation openstack::TrunkNetwork trunks [0:*]¶
other end:
openstack::TrunkNetwork.provider [1]
- relation openstack::TrunkPort trunk_ports [0:*]¶
other end:
openstack::TrunkPort.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]
- relation openstack::Flavor flavors [0:*]¶
other end:
openstack::Flavor.provider [1]
- relation openstack::HostAggregateMetadata host_aggregate_metadata [0:*]¶
- relation openstack::Image images [0:*]¶
other end:
openstack::Image.provider [1]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
std::noneconstrainttrueopenstack::agentConfigconstraintauto_agent
- entity openstack::QoSPolicy¶
Parents:
openstack::OpenStackResourceA Neutron QoS policy, optionally containing a DSCP marking rule.
QoS policies are containers for rules that can be attached to networks or ports. When a dscp_mark is provided the handler will automatically create (or update / delete) the DSCP marking rule inside the policy.
- attribute string name¶
Name of the QoS policy. Must be unique per project.
- attribute string? description=null¶
Optional human-readable description.
When true the policy is visible to all projects.
- attribute int? dscp_mark=null¶
Optional DSCP value to stamp on packets. Valid values per RFC 2474: 0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 46, 48, 56. When null no DSCP marking rule is managed.
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.qos_policies [0:*]
- relation openstack::Project project [1]¶
other end:
openstack::Project.qos_policies [0:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::Role¶
Parents:
openstack::OpenStackResourceA 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¶
The name of the role.
- attribute string domain=''¶
The domain in which the role exists. Leave empty for a global role (applies across all domains).
- 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:
openstack::roleImpl,openstack::providerRequireconstrainttrue
- entity openstack::Route¶
Parents:
std::EntityA routing rule to add
- attribute std::ipv4_network destination¶
- attribute std::ipv4_address nexthop¶
- relation openstack::Router router [0:1]¶
other end:
openstack::Router.routes [0:*]
The following implements statements select implementations for this entity:
std::noneconstrainttrue
- entity openstack::RouteV6¶
Parents:
std::Entity- attribute std::ipv6_network destination¶
- attribute std::ipv6_address nexthop¶
- relation openstack::SubnetV6 subnet [0:1]¶
other end:
openstack::SubnetV6.routes [0:*]
The following implements statements select implementations for this entity:
std::noneconstrainttrue
- entity openstack::Router¶
Parents:
openstack::OpenStackResourceA 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:
openstack::providerRequireconstrainttrue
- entity openstack::RouterPort¶
Parents:
openstack::PortA port attached to a router
- attribute std::ipv4_address address¶
- 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:
openstack::providerRequireconstrainttrue
- entity openstack::SecurityGroup¶
Parents:
openstack::OpenStackResource- attribute string description=''¶
- attribute string name¶
- attribute bool manage_all=true¶
- attribute int 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 int 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:
openstack::sg,openstack::providerRequireconstrainttrue
- entity openstack::SecurityRule¶
Parents:
std::EntityA filter rule in the a security group
- attribute openstack::protocol ip_protocol¶
The type of ip protocol to allow. Currently this support tcp/udp/icmp/sctp or all
- attribute std::port port_min=0¶
- attribute std::port port_max=0¶
- attribute std::port port=0¶
- attribute openstack::direction direction¶
- relation openstack::SecurityGroup group [1]¶
other end:
openstack::SecurityGroup.rules [0:*]
- entity openstack::SimpleBlockDevice¶
Parents:
std::EntityA simplified block device for VMs. Specify a role; the underlying BlockDevice settings are derived automatically.
“boot” Boot volume from a Glance image. Requires uuid. “cdrom” CD-ROM from a Glance image. Requires uuid. “data” Blank data volume. Requires volume_size.
- attribute openstack::bdm_role role¶
boot, cdrom, or data.
- attribute string? uuid=null¶
Glance image id. Required for boot and cdrom.
- attribute int? volume_size=null¶
Size in GB. Required for data.
- attribute string? disk_bus=null¶
Override the bus: virtio, ide, scsi, etc.
- attribute bool delete_on_termination=true¶
Destroy the volume when the VM is deleted.
- relation openstack::VirtualMachine vm [1]¶
other end:
openstack::VirtualMachine.simple_block_devices [0:*]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::simpleBlockDeviceBootconstraint(role == 'boot')openstack::simpleBlockDeviceCdromconstraint(role == 'cdrom')openstack::simpleBlockDeviceDataconstraint(role == 'data')openstack::simpleBlockDeviceUuidRequiredconstraint((role == 'boot') or (role == 'cdrom'))openstack::simpleBlockDeviceVolumeSizeRequiredconstraint(role == 'data')
- entity openstack::Subnet¶
Parents:
openstack::SubnetBaseNeutron IPv4 network subnet.
- attribute std::ipv4_network network_address¶
IPv4 CIDR for the subnet (e.g., 192.0.2.0/24)
- attribute std::ipv4_address[] dns_servers=List()¶
Optional list of IPv4 DNS resolvers for this subnet.
- attribute std::ipv4_address? gateway_ip=null¶
Gateway IP to set explicitly. If null/omitted and disable_gateway_ip=false, Neutron may select a default gateway (typically the first usable IP).
- attribute dict host_routes={}¶
Static routes pushed to hosts via DHCP. Each key is a destination CIDR and the value is the nexthop IP address. E.g. {“10.0.0.0/8”: “192.168.1.1”}.
- relation openstack::RouterPort routers [0:*]¶
other end:
openstack::RouterPort.subnet [1]
- relation openstack::NetworkPort network_ports [0:*]¶
other end:
openstack::NetworkPort.subnet [0:1]
- relation openstack::Router router [0:1]¶
other end:
openstack::Router.subnets [0:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::SubnetBase¶
Parents:
openstack::OpenStackResourceA neutron subnet
- attribute string name¶
- attribute bool dhcp¶
- attribute string allocation_start=''¶
- attribute string allocation_end=''¶
- attribute bool disable_gateway_ip=false¶
- 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:*]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::SubnetV6¶
Parents:
openstack::SubnetBaseA neutron IPv6 network subnet
- attribute std::ipv6_network network_address¶
- attribute std::ipv6_address[] dns_servers=List()¶
- attribute std::ipv6_address? gateway_ip=null¶
The gateway IP to set on this subnet. If set to null, Neutron may select a default. Example subnet: 2001:db8:1::/64, gateway: 2001:db8:1::1
- attribute openstack::ipv6_mode? ipv6_ra_mode=null¶
OpenStack CLI –ipv6-ra-mode (slaac/dhcpv6-stateful/dhcpv6-stateless)
- attribute openstack::ipv6_mode? ipv6_address_mode=null¶
OpenStack CLI –ipv6-address-mode (slaac/dhcpv6-stateful/dhcpv6-stateless)
- attribute dict host_routes={}¶
Static routes pushed to hosts via DHCP. Each key is a destination CIDR and the value is the nexthop IP address. E.g. {“2001:db8:2::/64”: “2001:db8:1::1”}.
- relation openstack::RouteV6 routes [0:*]¶
other end:
openstack::RouteV6.subnet [0:1]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::TrunkNetwork¶
Parents:
openstack::OpenStackResourceA neutron trunk. A trunk groups a parent port together with a set of subports (see
TrunkPort) so that a single VM interface can carry traffic for multiple networks using VLAN tagging.The trunk is built on top of an existing parent port. That port can be a standalone
NetworkPortor aHostPortattached to a virtual machine. The parent port is managed separately.- attribute string name¶
The name of the trunk. Must be unique per project.
- attribute string description=''¶
An optional human-readable description.
- attribute bool admin_state_up=true¶
The administrative state of the trunk.
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.trunks [0:*]
- relation openstack::Project project [1]¶
other end:
openstack::Project.trunks [0:*]
- relation openstack::Port parent_port [1]¶
other end:
openstack::Port.trunk [0:1]
- relation openstack::TrunkPort sub_ports [0:*]¶
other end:
openstack::TrunkPort.trunk [1]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::TrunkPort¶
Parents:
openstack::OpenStackResourceA subport of a
TrunkNetwork. It attaches an existing port (aNetworkPortorHostPort) to the trunk with the configured segmentation type and id (typically a VLAN). The referenced port is managed separately; this resource only manages the trunk subport attachment, not the port itself.- attribute string name¶
The name of the subport. Must be unique per project.
- attribute string segmentation_type='vlan'¶
The segmentation technology, e.g. “vlan”.
- attribute int segmentation_id¶
The segmentation id (e.g. the VLAN id).
- relation openstack::Provider provider [1]¶
other end:
openstack::Provider.trunk_ports [0:*]
- relation openstack::Project project [1]¶
other end:
openstack::Project.trunk_ports [0:*]
- relation openstack::TrunkNetwork trunk [1]¶
other end:
openstack::TrunkNetwork.sub_ports [0:*]
- relation openstack::Port port [1]¶
other end:
openstack::Port.trunk_subport [0:1]
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrue
- entity openstack::User¶
Parents:
openstack::OpenStackResourceA 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=null¶
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.
- attribute string domain='Default'¶
The domain in which the user exists.
- 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:
openstack::providerRequireconstrainttrue
- entity openstack::VMAttributes¶
Parents:
std::EntityEntity with vm attributes that can be used for a virtual machine and a host
- attribute string flavor¶
The name of the flavor
- attribute string? image=null¶
The uuid of the image
- attribute string user_data¶
The user_data script to pass
- attribute dict metadata={}¶
A dict of metadata items
- attribute dict personality={}¶
A dict of files (personality)
- attribute bool config_drive=false¶
Attach a configuration drive to the vm
- attribute string? availability_zone=null¶
Nova availability zone to schedule the VM in. When null, Nova chooses.
- 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::Flavor flavor_rel [0:1]¶
- relation openstack::Host host [0:1]¶
other end:
openstack::Host.vm [1]
- relation openstack::BlockDevice block_devices [0:*]¶
other end:
openstack::BlockDevice.vm [1]
- relation openstack::SimpleBlockDevice simple_block_devices [0:*]¶
other end:
openstack::SimpleBlockDevice.vm [1]
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
openstack::providerRequireconstrainttrueopenstack::flavorFromRelationconstraintflavor_rel is definedopenstack::bdmImageExclusiveconstrainttrue
Implementations¶
- implementation openstack::agentConfig¶
- implementation openstack::bdmImageExclusive¶
- implementation openstack::bdmUuidRequired¶
- implementation openstack::bdmVolumeSizeRequired¶
- implementation openstack::eth0Port¶
- implementation openstack::fipAddr¶
- implementation openstack::fipName¶
- implementation openstack::flavorFromRelation¶
- implementation openstack::groupRoleImpl¶
- implementation openstack::noSecurityGroupsWhenPortSecurityDisabled¶
- implementation openstack::openstackVM¶
- implementation openstack::projectRequire¶
- implementation openstack::providerRequire¶
- implementation openstack::roleImpl¶
- implementation openstack::sg¶
- implementation openstack::simpleBlockDeviceBoot¶
- implementation openstack::simpleBlockDeviceCdrom¶
- implementation openstack::simpleBlockDeviceData¶
- implementation openstack::simpleBlockDeviceUuidRequired¶
- implementation openstack::simpleBlockDeviceVolumeSizeRequired¶
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
- openstack.image_size_gb(provider: 'openstack::Provider', image_id: 'string') 'int'¶
Return the size of a Glance image in GB, rounded up.
- Parameters:
provider – The OpenStack provider to connect to.
image_id – The Glance image ID (e.g. from std::getfact(image, “image_id”)).
Resources¶
- class openstack.compute.flavor.Flavor¶
A flavor is an available hardware configuration for a server.
Resource for entity
openstack::FlavorId attribute
nameAgent name
provider.name
- class openstack.network.floating_ip.FloatingIP¶
A floating ip
Resource for entity
openstack::FloatingIPId attribute
nameAgent name
provider.name
- class openstack.identity.group.Group¶
A group in keystone
Resource for entity
openstack::GroupId attribute
group_idAgent name
provider.name
- class openstack.identity.group_role.GroupRole¶
A role assignment that adds a group to a project with a specific role.
Resource for entity
openstack::GroupRoleId attribute
group_role_idAgent name
provider.name
- class openstack.compute.host_aggregate.HostAggregateMetadata¶
A single key/value metadata item on a Nova host aggregate.
Resource for entity
openstack::HostAggregateMetadataId attribute
metadata_idAgent name
provider.nameHandlers
openstack.compute.host_aggregate.HostAggregateMetadataHandler
- class openstack.compute.host_port.HostPort¶
A port attached to a VM.
Resource for entity
openstack::HostPortId attribute
nameAgent name
provider.name
- class openstack.image.image.Image¶
Resource for entity
openstack::ImageId attribute
nameAgent name
provider.nameHandlers
openstack.image.image.ImageHandler
- class openstack.network.network.Network¶
This class represents a network in neutron
Resource for entity
openstack::NetworkId attribute
nameAgent name
provider.name
- class openstack.network.network_port.NetworkPort¶
A standalone neutron port, not bound to a router or a virtual machine
Resource for entity
openstack::NetworkPortId attribute
nameAgent name
provider.name
- class openstack.identity.project.Project¶
This class represents a project in keystone
Resource for entity
openstack::ProjectId attribute
project_idAgent name
provider.name
- class openstack.quota.quota.ProjectQuota¶
This class represents quota limits for an OpenStack project across compute, storage, and network services.
Resource for entity
openstack::ProjectQuotaId attribute
quota_idAgent name
provider.name
- class openstack.network.qos_policy.QoSPolicy¶
A Neutron QoS policy with an optional embedded DSCP marking rule.
Resource for entity
openstack::QoSPolicyId attribute
nameAgent name
provider.name
- class openstack.identity.role.Role¶
A role that adds a user to a project
Resource for entity
openstack::RoleId attribute
role_idAgent name
provider.nameHandlers
openstack.identity.role.RoleHandler
- class openstack.network.router.Router¶
This class represent a router in neutron
Resource for entity
openstack::RouterId attribute
nameAgent name
provider.name
- class openstack.network.router_port.RouterPort¶
A port in a router
Resource for entity
openstack::RouterPortId attribute
nameAgent name
provider.name
- class openstack.network.security_group.SecurityGroup¶
A security group in an OpenStack project
Resource for entity
openstack::SecurityGroupId attribute
nameAgent name
provider.nameHandlers
openstack.network.security_group.SecurityGroupHandler
- class openstack.network.subnet.Subnet¶
This class represent a subnet in neutron
Resource for entity
openstack::SubnetId attribute
nameAgent name
provider.name
- class openstack.network.subnet_v6.SubnetV6¶
This class represent an ipv6 subnet in neutron
Resource for entity
openstack::SubnetV6Id attribute
nameAgent name
provider.name
- class openstack.network.trunk_network.TrunkNetwork¶
A neutron trunk built on top of an existing parent port
Resource for entity
openstack::TrunkNetworkId attribute
nameAgent name
provider.nameHandlers
openstack.network.trunk_network.TrunkNetworkHandler
- class openstack.network.trunk_port.TrunkPort¶
A subport of a trunk: it attaches an existing port to a trunk with a segmentation type and id. The referenced port is managed separately.
Resource for entity
openstack::TrunkPortId attribute
nameAgent name
provider.name
- class openstack.identity.user.User¶
A user in keystone
Resource for entity
openstack::UserId attribute
user_idAgent name
provider.nameHandlers
openstack.identity.user.UserHandler
- class openstack.compute.virtual_machine.VirtualMachine¶
A virtual machine managed by a hypervisor or IaaS
Resource for entity
openstack::VirtualMachineId attribute
nameAgent name
provider.nameHandlers
openstack.compute.virtual_machine.VirtualMachineHandler
Handlers¶
- class openstack.compute.flavor.FlavorHandler¶
Handler for entity
openstack::Flavor
- class openstack.compute.host_aggregate.HostAggregateMetadataHandler¶
Manage a single metadata key on a host aggregate.
create/update -> set the key to the desired value delete -> remove the key (Nova removes a key when its value is None),
leaving any other keys on the aggregate untouched
Handler for entity
openstack::HostAggregateMetadata
- class openstack.compute.host_port.HostPortHandler¶
Manage a neutron port on a VM. Its
subnetrelation may be an IPv4 or an IPv6 (SubnetBase) subnet, so a port can live on an IPv6-only network.Handler for entity
openstack::HostPort
- class openstack.compute.virtual_machine.VirtualMachineHandler¶
Handler for entity
openstack::VirtualMachine
- class openstack.identity.group.GroupHandler¶
Handler for entity
openstack::Group
- class openstack.identity.group_role.GroupRoleHandler¶
Handler for group-based role assignments on projects.
Handler for entity
openstack::GroupRole
- class openstack.identity.project.ProjectHandler¶
Handler for entity
openstack::Project
- class openstack.identity.role.RoleHandler¶
creates roles and user, project, role assocations
Handler for entity
openstack::Role
- class openstack.identity.user.UserHandler¶
Handler for entity
openstack::User
- class openstack.image.image.ImageHandler¶
Handler for entity
openstack::Image
- class openstack.network.floating_ip.FloatingIPHandler¶
Handler for entity
openstack::FloatingIP
- class openstack.network.network.NetworkHandler¶
Handler for entity
openstack::Network
- class openstack.network.network_port.NetworkPortHandler¶
Handler for entity
openstack::NetworkPort
- class openstack.network.qos_policy.QoSPolicyHandler¶
Handler for entity
openstack::QoSPolicy
- class openstack.network.router.RouterHandler¶
Handler for entity
openstack::Router
- class openstack.network.router_port.RouterPortHandler¶
Handler for entity
openstack::RouterPort
- class openstack.network.security_group.SecurityGroupHandler¶
Handler for entity
openstack::SecurityGroup
- class openstack.network.subnet.SubnetHandler¶
Handler for entity
openstack::Subnet
- class openstack.network.subnet_v6.SubnetV6Handler¶
Handler for entity
openstack::SubnetV6
- class openstack.network.trunk_network.TrunkNetworkHandler¶
Handler for entity
openstack::TrunkNetwork
- class openstack.network.trunk_port.TrunkPortHandler¶
Handler for entity
openstack::TrunkPort
- class openstack.quota.quota.ProjectQuotaHandler¶
Handler for managing OpenStack project quotas across compute, storage, and network services.
Handler for entity
openstack::ProjectQuota