troposphere.openstack package
Submodules
troposphere.openstack.heat module
Openstack Heat
Due to the strange nature of the OpenStack compatability layer, some values that should be integers fail to validate and need to be represented as strings. For this reason, we duplicate the AWS::AutoScaling::AutoScalingGroup and change these types.
- class troposphere.openstack.heat.AWSAutoScalingGroup(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
Fix issues with OpenStack compatability layer.
Due to the strange nature of the OpenStack compatability layer, some values that should be integers fail to validate and need to be represented as strings. For this reason, we duplicate the AWS::AutoScaling::AutoScalingGroup and change these types.
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'AvailabilityZones': (<class 'list'>, True), 'Cooldown': (<function integer>, False), 'DesiredCapacity': (<class 'str'>, False), 'HealthCheckGracePeriod': (<function integer>, False), 'HealthCheckType': (<class 'str'>, False), 'LaunchConfigurationName': (<class 'str'>, True), 'LoadBalancerNames': (<class 'list'>, False), 'MaxSize': (<class 'str'>, True), 'MinSize': (<class 'str'>, True), 'Tags': (<class 'list'>, False), 'VPCZoneIdentifier': (<class 'list'>, False)}
- resource_type: str | None = 'AWS::AutoScaling::AutoScalingGroup'
troposphere.openstack.neutron module
- class troposphere.openstack.neutron.AddressPair(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'ip_address': (<class 'str'>, True), 'mac_address': (<class 'str'>, False)}
- class troposphere.openstack.neutron.Firewall(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'admin_state_up': (<function boolean>, False), 'description': (<class 'str'>, False), 'firewall_policy_id': (<class 'str'>, True), 'name': (<class 'str'>, False)}
- resource_type: str | None = 'OS::Neutron::Firewall'
- class troposphere.openstack.neutron.FirewallPolicy(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'audited': (<function boolean>, False), 'description': (<class 'str'>, False), 'firewall_rules': (<class 'list'>, True), 'name': (<class 'str'>, False), 'shared': (<function boolean>, False)}
- resource_type: str | None = 'OS::Neutron::FirewallPolicy'
- class troposphere.openstack.neutron.FirewallRule(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'action': (<class 'str'>, False), 'description': (<class 'str'>, False), 'destination_ip_address': (<class 'str'>, False), 'destination_port': (<function network_port>, False), 'enabled': (<function boolean>, False), 'ip_version': (<class 'str'>, False), 'name': (<class 'str'>, False), 'protocol': (<class 'str'>, False), 'shared': (<function boolean>, False), 'source_ip_address': (<class 'str'>, False), 'source_port': (<function network_port>, False)}
- resource_type: str | None = 'OS::Neutron::FirewallRule'
- class troposphere.openstack.neutron.FixedIP(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'ip_address': (<class 'str'>, False), 'subnet_id': (<class 'str'>, False)}
- class troposphere.openstack.neutron.FloatingIP(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'fixed_ip_address': (<class 'str'>, False), 'floating_network_id': (<class 'str'>, True), 'port_id': (<class 'str'>, False), 'value_specs': (<class 'dict'>, False)}
- resource_type: str | None = 'OS::Neutron::FloatingIP'
- class troposphere.openstack.neutron.FloatingIPAssociation(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'fixed_ip_address': (<class 'str'>, False), 'floatingip_id': (<class 'str'>, True), 'port_id': (<class 'str'>, False)}
- resource_type: str | None = 'OS::Neutron::FloatingIPAssociation'
- class troposphere.openstack.neutron.HealthMonitor(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'admin_state_up': (<function boolean>, False), 'delay': (<function positive_integer>, True), 'expected_codes': (<class 'str'>, False), 'http_method': (<class 'str'>, False), 'max_retries': (<function integer>, True), 'timeout': (<function integer>, True), 'type': (<class 'str'>, True), 'url_path': (<class 'str'>, False)}
- resource_type: str | None = 'OS::Neutron::HealthMonitor'
- class troposphere.openstack.neutron.LoadBalancer(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'members': (<class 'list'>, False), 'pool_id': (<class 'troposphere.openstack.neutron.Pool'>, True), 'protocol_port': (<function network_port>, True)}
- resource_type: str | None = 'OS::Neutron::LoadBalancer'
- class troposphere.openstack.neutron.Net(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'admin_state_up': (<function boolean>, False), 'name': (<class 'str'>, False), 'shared': (<function boolean>, False), 'tenant_id': (<class 'str'>, False), 'value_specs': (<class 'dict'>, False)}
- resource_type: str | None = 'OS::Neutron::Net'
- class troposphere.openstack.neutron.Pool(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'admin_state_up': (<function boolean>, False), 'description': (<class 'str'>, False), 'lb_method': (<class 'str'>, True), 'monitors': (<class 'list'>, False), 'name': (<class 'str'>, False), 'protocol': (<class 'str'>, True), 'subnet_id': (<class 'str'>, True), 'vip': (<class 'troposphere.openstack.neutron.VIP'>, False)}
- resource_type: str | None = 'OS::Neutron::Pool'
- class troposphere.openstack.neutron.PoolMember(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'address': (<class 'str'>, True), 'admin_state_up': (<function boolean>, False), 'pool_id': (<class 'troposphere.openstack.neutron.Pool'>, True), 'protocol_port': (<function network_port>, True), 'weight': (<function integer_range.<locals>.integer_range_checker>, False)}
- resource_type: str | None = 'OS::Neutron::PoolMember'
- class troposphere.openstack.neutron.Port(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'admin_state_up': (<function boolean>, False), 'allowed_address_pairs': (<class 'list'>, False), 'device_id': (<class 'str'>, False), 'fixed_ips': (<class 'list'>, False), 'mac_address': (<class 'str'>, False), 'name': (<class 'str'>, False), 'network_id': (<class 'str'>, True), 'security_groups': (<class 'list'>, False), 'value_specs': (<class 'dict'>, False)}
- resource_type: str | None = 'OS::Neutron::Port'
- class troposphere.openstack.neutron.SecurityGroup(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'description': (<class 'str'>, True), 'name': (<class 'str'>, False), 'rules': (<class 'list'>, False)}
- resource_type: str | None = 'OS::Neutron::SecurityGroup'
- class troposphere.openstack.neutron.SecurityGroupRule(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'direction': (<class 'str'>, False), 'ethertype': (<class 'str'>, False), 'port_range_max': (<function network_port>, False), 'port_range_min': (<function network_port>, False), 'protocol': (<class 'str'>, False), 'remote_group_id': (<class 'str'>, False), 'remote_ip_prefix': (<class 'str'>, False), 'remote_mode': (<class 'str'>, False)}
- class troposphere.openstack.neutron.SessionPersistence(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'cookie_name': (<class 'str'>, False), 'type': (<class 'str'>, False)}
- class troposphere.openstack.neutron.VIP(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'address': (<class 'str'>, False), 'admin_state_up': (<function boolean>, False), 'connection_limit': (<function integer>, True), 'description': (<class 'str'>, False), 'name': (<class 'str'>, False), 'protocol_port': (<function network_port>, True), 'session_persistence': (<class 'troposphere.openstack.neutron.SessionPersistence'>, False)}
troposphere.openstack.nova module
- class troposphere.openstack.nova.BlockDeviceMapping(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'delete_on_termination': (<function boolean>, False), 'device_name': (<class 'str'>, True), 'snapshot_id': (<class 'str'>, False), 'volume_id': (<class 'str'>, False), 'volume_size': (<function integer>, False)}
- class troposphere.openstack.nova.BlockDeviceMappingV2(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'boot_index': (<function integer>, False), 'delete_on_termination': (<function boolean>, False), 'device_name': (<class 'str'>, False), 'device_type': (<class 'str'>, False), 'disk_bus': (<class 'str'>, False), 'ephemeral_format': (<class 'str'>, False), 'ephemeral_size': (<function integer>, False), 'image_id': (<class 'str'>, False), 'snapshot_id': (<class 'str'>, False), 'swap_size': (<function integer>, False), 'volume_id': (<class 'str'>, False), 'volume_size': (<function integer>, False)}
- class troposphere.openstack.nova.FloatingIP(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'pool': (<class 'str'>, False)}
- resource_type: str | None = 'OS::Nova::FloatingIP'
- class troposphere.openstack.nova.FloatingIPAssociation(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'floating_ip': (<class 'str'>, True), 'server_ip': (<class 'str'>, True)}
- resource_type: str | None = 'OS::Nova::FloatingIPAssociation'
- class troposphere.openstack.nova.KeyPair(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'name': (<class 'str'>, True), 'public_key': (<class 'str'>, False), 'save_private_key': (<function boolean>, False)}
- resource_type: str | None = 'OS::Nova::KeyPair'
- class troposphere.openstack.nova.Network(title: str | None = None, **kwargs: Any)[source]
Bases:
AWSProperty
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'fixed_ip': (<class 'str'>, False), 'network': (<class 'str'>, False), 'port': (<function network_port>, False)}
- class troposphere.openstack.nova.Server(title: str | None, template: Template | None = None, validation: bool = True, **kwargs: Any)[source]
Bases:
AWSObject
- props: ClassVar[Dict[str, Tuple[Tuple[type, ...] | type | Callable[[Any], Any], bool]]] = {'admin_pass': (<class 'str'>, False), 'admin_user': (<class 'str'>, False), 'availability_zone': (<class 'str'>, False), 'block_device_mapping': (<class 'list'>, False), 'block_device_mapping_v2': (<class 'list'>, False), 'config_drive': (<class 'str'>, False), 'diskConfig': (<class 'str'>, False), 'flavor': (<class 'str'>, False), 'flavor_update_policy': (<class 'str'>, False), 'image': (<class 'str'>, True), 'image_update_policy': (<class 'str'>, False), 'key_name': (<class 'str'>, False), 'metadata': (<class 'dict'>, False), 'name': (<class 'str'>, False), 'networks': (<class 'list'>, True), 'personality': (<class 'dict'>, False), 'reservation_id': (<class 'str'>, False), 'scheduler_hints': (<class 'dict'>, False), 'security_groups': (<class 'list'>, False), 'software_config_transport': (<class 'str'>, False), 'user_data': (<class 'str'>, False), 'user_data_format': (<class 'str'>, False)}
- resource_type: str | None = 'OS::Nova::Server'
Module contents
OpenStack
The package to support OpenStack templates using troposphere.