- Network - snaps.openstack.create\_network.OpenStackNetwork
- - snaps.openstack.create\_network.NetworkSettings
+ - snaps.config_network.NetworkConfig
- name - the name of the network (required)
- admin\_state\_up - flag denoting the administrative status of
- segmentation\_id - the id of the segmentation (required
when network\_type is 'vlan')
- subnet\_settings (list of optional
- snaps.openstack.create\_network.SubnetSettings objects)
+ snaps.config.network.SubnetConfig objects)
- cidr - the subnet's CIDR (required)
- ip\_version - 4 or 6 (default=4)
.. code:: python
- from snaps.openstack.create_network import NetworkSettings, SubnetSettings, OpenStackNetwork
+ from snaps.config.network import NetworkConfig, SubnetConfig
+ from snaps.openstack.create_network import OpenStackNetwork
- subnet_settings = SubnetSettings(name='subnet-name', cidr='10.0.0.0/24')
- network_settings = NetworkSettings(name='network-name', subnet_settings=[subnet_settings])
+ subnet_settings = SubnetConfig(name='subnet-name', cidr='10.0.0.0/24')
+ network_settings = NetworkConfig(name='network-name', subnet_settings=[subnet_settings])
network_creator = OpenStackNetwork(os_creds, network_settings)
network_creator.create()
.. code:: python
+ from snaps.config.network import SubnetConfig
+ from snaps.config.rule import RuleConfig
from snaps.openstack.create_security_group import SecurityGroupSettings, SecurityGroupRuleSettings, Direction, OpenStackSecurityGroup
- rule_settings = SubnetSettings(name='subnet-name', cidr='10.0.0.0/24')
- network_settings = NetworkSettings(name='network-name', subnet_settings=[subnet_settings])
+ rule_settings = RuleConfig(name='subnet-name', cidr='10.0.0.0/24')
+ network_settings = SubnetConfig(name='network-name', subnet_settings=[subnet_settings])
sec_grp_name = 'sec-grp-name'
rule_settings = SecurityGroupRuleSettings(name=sec_grp_name, direction=Direction.ingress)
- Router - snaps.openstack.create\_router.OpenStackRouter
- - snaps.openstack.create\_router.RouterSettings
+ - snaps.openstack.router.RouterConfig
- name - the router name (required)
- project\_name - the name of the project (optional - can only be
- internal\_subnets - list of subnet names to which this router
will connect (optional)
- port\_settings (list of optional
- snaps.openstack.create\_router.PortSettings objects) - creates
+ snaps.config.network.PortConfig objects) - creates
custom ports to internal subnets (similar to internal\_subnets
with more control)
.. code:: python
- from snaps.openstack.create_router import RouterSettings, OpenStackRouter
+ from snaps.config.router import RouterConfig
+ from snaps.openstack.create_router import OpenStackRouter
- router_settings = RouterSettings(name='router-name', external_gateway='external')
+ router_settings = RouterConfig(name='router-name', external_gateway='external')
router_creator = OpenStackRouter(os_creds, router_settings)
router_creator.create()
- Volume Type - snaps.openstack.create\_qos.OpenStackQoS
- - snaps.openstack.create\_qos.QoSSettings
+ - snaps.openstack.qos.QoSConfig
- name - the volume type's name (required)
- consumer - the qos's consumer type of the enum type Consumer (required)
.. code:: python
- from snaps.openstack.create_qos import QoSSettings, OpenStackQoS
+ from snaps.openstack.qos import QoSConfig
+ from snaps.openstack.create_qos import OpenStackQoS
- qos_settings = QoSSettings(name='stack-name', consumer=Consumer.front-end)
+ qos_settings = QoSConfig(name='stack-name', consumer=Consumer.front-end)
qos_creator = OpenStackQoS(os_creds, vol_type_settings)
qos_creator.create()
- Volume Type - snaps.openstack.create\_volume\_type.OpenStackVolumeType
- - snaps.openstack.create\_volume\_type.VolumeTypeSettings
+ - snaps.config.volume\_type.VolumeTypeConfig
- name - the volume type's name (required)
- description - the volume type's description (optional)
- - encryption - instance or config for VolumeTypeEncryptionSettings (optional)
+ - encryption - instance or config for VolumeTypeEncryptionConfig (optional)
- qos\_spec\_name - name of the QoS Spec to associate (optional)
- - public - instance or config for VolumeTypeEncryptionSettings (optional)
+ - public - instance or config for VolumeTypeEncryptionConfig (optional)
.. code:: python
- from snaps.openstack.create_volume_type import VolumeTypeSettings, OpenStackVolumeType
+ from snaps.config.volume_type import VolumeTypeConfig
+ from snaps.openstack.create_volume_type import OpenStackVolumeType
- vol_type_settings = VolumeTypeSettings(name='stack-name')
+ vol_type_settings = VolumeTypeConfig(name='stack-name')
vol_type_creator = OpenStackHeatStack(os_creds, vol_type_settings)
vol_type_creator.create()
- Volume - snaps.openstack.create\_volume.OpenStackVolume
- - snaps.openstack.create\_volume.VolumeSettings
+ - snaps.config.volume.VolumeConfig
- name - the volume type's name (required)
- description - the volume type's description (optional)
.. code:: python
- from snaps.openstack.create\_volume import VolumeSettings, OpenStackVolume
+ from snaps.config.volume import VolumeConfig
+ from snaps.openstack.create\_volume import OpenStackVolume
- vol_settings = VolumeSettings(name='stack-name')
+ vol_settings = VolumeConfig(name='stack-name')
vol_creator = OpenStackVolume(os_creds, vol_settings)
vol_creator.create()
- Heat Stack - snaps.openstack.create\_stack.OpenStackHeatStack
- - snaps.openstack.create\_stack.StackSettings
+ - snaps.config.stack.StackConfig
- name - the stack's name (required)
- template - the heat template in dict() format (required when
.. code:: python
- from snaps.openstack.create_stack import StackSettings, OpenStackHeatStack
+ from snaps.config.stack import StackConfig
+ from snaps.openstack.create_stack import OpenStackHeatStack
- stack_settings = StackSettings(name='stack-name', template_path='/tmp/template.yaml')
+ stack_settings = StackConfig(name='stack-name', template_path='/tmp/template.yaml')
stack_creator = OpenStackHeatStack(os_creds, stack_settings)
stack_creator.create()
- name - the name of the VM (required)
- flavor - the name of the flavor (required)
- port\_settings - list of
- snaps.openstack.create\_network.PortSettings objects where each
+ snaps.config.network.PortConfig objects where each
denote a NIC (see above in create router section for details)
API does not require, but newer NFVIs now require VMs have at
least one network
.. code:: python
from snaps.openstack.create_instance import VmInstanceSettings, FloatingIpSettings, OpenStackVmInstance
- from snaps.openstack.create_network import PortSettings
+ from snaps.config.network import PortConfig
- port_settings = PortSettings(name='port-name', network_name=network_settings.name)
+ port_settings = PortConfig(name='port-name', network_name=network_settings.name)
floating_ip_settings = FloatingIpSettings(name='fip1', port_name=port_settings.name, router_name=router_settings.name)
instance_settings = VmInstanceSettings(name='vm-name', flavor='flavor_settings.name', port_settings=[port_settings],
floating_ip_settings=[floating_ip_settings])