%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/modules/neutronng.pyc

�
���^c@@sUdZddlmZmZmZeZyddlZeZWne	k
rQnXdZ
d�Zd�Zed�Z
dd�Zdd	�Zdd
�Zdd�Zdd�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zddd�Zdd�Zdd�Zdd�Zdd�Z dS(u�
Neutron module for interacting with OpenStack Neutron

.. versionadded:: 2018.3.0

:depends:shade

Example configuration

.. code-block:: yaml

    neutron:
      cloud: default

.. code-block:: yaml

    neutron:
      auth:
        username: admin
        password: password123
        user_domain_name: mydomain
        project_name: myproject
        project_domain_name: myproject
        auth_url: https://example.org:5000/v3
      identity_api_version: 3
i(tabsolute_importtprint_functiontunicode_literalsNu	neutronngcC@str
tStdfS(uC
    Only load this module if shade python module is installed
    ugThe neutronng execution module failed to                     load: shade python module is not available(t	HAS_SHADEt__virtualname__tFalse(((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt__virtual__)scK@sWi}xJ|j�D]<\}}||kr|||krO||||<qOqqW|S(ut
    Compare two dicts returning only keys that exist in the first dict and are
    different in the second one
    (titems(tobjtkwargstchangestkeytvalue((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytcompare_changes3scK@s7d|kr)|r)|jd�|d<ntd|�S(u7
    Sanatize the the arguments for use with shade
    unameu
name_or_iduargs.clean_kwargs(tpopt	__utils__(t	keep_nameR	((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt
_clean_kwargs@scC@st|�t|�dS(u�
    Call functions to create Shade cloud objects in __context__ to take
    advantage of Shade's in-memory caching across several states
    N(tget_operator_cloudtget_openstack_cloud(tauth((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsetup_cloudsJs
cC@sg|dkr"tddi�}ndtkrLtdj|krLtdSntj|�td<tdS(u"
    Return an operator_cloud
    u
config.optionuneutronu
shade_opcloudN(tNonet__salt__t__context__Rtshadetoperator_cloud(R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyRSscC@sg|dkr"tddi�}ndtkrLtdj|krLtdSntj|�td<tdS(u#
    Return an openstack_cloud
    u
config.optionuneutronu
shade_oscloudN(RRRRRtopenstack_cloud(R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyR`scK@s+t|�}tdt|�}|j|�S(u�
    Create a network

    name
        Name of the network being created

    shared : False
        If ``True``, set the network as shared

    admin_state_up : True
        If ``True``, Set the network administrative state to "up"

    external : False
        Control whether or not this network is externally accessible

    provider
        An optional Python dictionary of network provider options

    project_id
        The project ID on which this network will be created

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.network_create name=network2           shared=True admin_state_up=True external=True

        salt '*' neutronng.network_create name=network3           provider='{"network_type": "vlan",                     "segmentation_id": "4010",                     "physical_network": "provider"}'           project_id=1dcac318a83b4610b7a7f7ba01465548

    R(RRtTruetcreate_network(RR	tcloud((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytnetwork_createms$cK@s%t|�}t|�}|j|�S(u
    Delete a network

    name_or_id
        Name or ID of the network being deleted

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.network_delete name_or_id=network1
        salt '*' neutronng.network_delete name_or_id=1dcac318a83b4610b7a7f7ba01465548

    (RRtdelete_network(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytnetwork_delete�scK@s%t|�}t|�}|j|�S(u(
    List networks

    filters
        A Python dictionary of filter conditions to push down

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.list_networks
        salt '*' neutronng.list_networks           filters='{"tenant_id": "1dcac318a83b4610b7a7f7ba01465548"}'

    (RRt
list_networks(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyR"�scK@s%t|�}t|�}|j|�S(u�
    Get a single network

    filters
        A Python dictionary of filter conditions to push down

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.network_get name=XLB4

    (RRtget_network(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytnetwork_get�scK@s%t|�}t|�}|j|�S(u�
    Create a subnet

    network_name_or_id
        The unique name or ID of the attached network. If a non-unique name is
        supplied, an exception is raised.

    cidr
        The CIDR

    ip_version
        The IP version, which is 4 or 6.

    enable_dhcp : False
        Set to ``True`` if DHCP is enabled and ``False`` if disabled

    subnet_name
        The name of the subnet

    tenant_id
        The ID of the tenant who owns the network. Only administrative users
        can specify a tenant ID other than their own.

    allocation_pools
        A list of dictionaries of the start and end addresses for the
        allocation pools.

    gateway_ip
        The gateway IP address. When you specify both ``allocation_pools`` and
        ``gateway_ip``, you must ensure that the gateway IP does not overlap
        with the specified allocation pools.

    disable_gateway_ip : False
        Set to ``True`` if gateway IP address is disabled and ``False`` if
        enabled. It is not allowed with ``gateway_ip``.

    dns_nameservers
        A list of DNS name servers for the subnet

    host_routes
        A list of host route dictionaries for the subnet

    ipv6_ra_mode
        IPv6 Router Advertisement mode. Valid values are ``dhcpv6-stateful``,
        ``dhcpv6-stateless``, or ``slaac``.

    ipv6_address_mode
        IPv6 address mode. Valid values are ``dhcpv6-stateful``,
        ``dhcpv6-stateless``, or ``slaac``.

    use_default_subnetpool
        If ``True``, use the default subnetpool for ``ip_version`` to obtain a
        CIDR. It is required to pass ``None`` to the ``cidr`` argument when
        enabling this option.

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.subnet_create network_name_or_id=network1
          subnet_name=subnet1

        salt '*' neutronng.subnet_create subnet_name=subnet2          network_name_or_id=network2 enable_dhcp=True           allocation_pools='[{"start": "192.168.199.2",                              "end": "192.168.199.254"}]'          gateway_ip='192.168.199.1' cidr=192.168.199.0/24

        salt '*' neutronng.subnet_create network_name_or_id=network1           subnet_name=subnet1 dns_nameservers='["8.8.8.8", "8.8.8.7"]'

    (RRt
create_subnet(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt
subnet_create�sIcK@s%t|�}t|�}|j|�S(u
    Update a subnet

    name_or_id
        Name or ID of the subnet to update

    subnet_name
        The new name of the subnet

    enable_dhcp
        Set to ``True`` if DHCP is enabled and ``False`` if disabled

    gateway_ip
        The gateway IP address. When you specify both allocation_pools and
        gateway_ip, you must ensure that the gateway IP does not overlap with
        the specified allocation pools.

    disable_gateway_ip : False
        Set to ``True`` if gateway IP address is disabled and False if enabled.
        It is not allowed with ``gateway_ip``.

    allocation_pools
        A list of dictionaries of the start and end addresses for the
        allocation pools.

    dns_nameservers
        A list of DNS name servers for the subnet

    host_routes
        A list of host route dictionaries for the subnet

    .. code-block:: bash

        salt '*' neutronng.subnet_update name=subnet1 subnet_name=subnet2
        salt '*' neutronng.subnet_update name=subnet1 dns_nameservers='["8.8.8.8", "8.8.8.7"]'

    (RRt
update_subnet(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt
subnet_update s&cK@s%t|�}t|�}|j|�S(u
    Delete a subnet

    name
        Name or ID of the subnet to update

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.subnet_delete name=subnet1
        salt '*' neutronng.subnet_delete           name=1dcac318a83b4610b7a7f7ba01465548

    (RRt
delete_subnet(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt
subnet_deleteKscK@s%t|�}t|�}|j|�S(u%
    List subnets

    filters
        A Python dictionary of filter conditions to push down

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.list_subnets
        salt '*' neutronng.list_subnets           filters='{"tenant_id": "1dcac318a83b4610b7a7f7ba01465548"}'

    (RRtlist_subnets(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyR+`scK@s%t|�}t|�}|j|�S(u�
    Get a single subnet

    filters
        A Python dictionary of filter conditions to push down

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.subnet_get name=subnet1

    (RRt
get_subnet(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt
subnet_getuscK@s+t|�}tdt|�}|j|�S(u�
    Create a security group. Use security_group_get to create default.

    project_id
        The project ID on which this security group will be created

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.security_group_create name=secgroup1           description="Very secure security group"
        salt '*' neutronng.security_group_create name=secgroup1           description="Very secure security group"           project_id=1dcac318a83b4610b7a7f7ba01465548

    R(RRRtcreate_security_group(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsecurity_group_create�scK@s.t|�}tdt|�}|j||�S(u2
    Update a security group

    secgroup
        Name, ID or Raw Object of the security group to update

    name
        New name for the security group

    description
        New description for the security group

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.security_group_update secgroup=secgroup1           description="Very secure security group"
        salt '*' neutronng.security_group_update secgroup=secgroup1           description="Very secure security group"           project_id=1dcac318a83b4610b7a7f7ba01465548

    R(RRRtupdate_security_group(tsecgroupRR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsecurity_group_update�scK@s%t|�}t|�}|j|�S(u�
    Delete a security group

    name_or_id
        The name or unique ID of the security group

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.security_group_delete name_or_id=secgroup1

    (RRtdelete_security_group(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsecurity_group_delete�scK@s%t|�}t|�}|j|�S(u�
    Get a single security group. This will create a default security group
    if one does not exist yet for a particular project id.

    filters
        A Python dictionary of filter conditions to push down

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.security_group_get           name=1dcac318a83b4610b7a7f7ba01465548

        salt '*' neutronng.security_group_get           name=default          filters='{"tenant_id":"2e778bb64ca64a199eb526b5958d8710"}'
    (RRtget_security_group(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsecurity_group_get�scK@s%t|�}t|�}|j|�S(u@	
    Create a rule in a security group

    secgroup_name_or_id
        The security group name or ID to associate with this security group
        rule. If a non-unique group name is given, an exception is raised.

    port_range_min
        The minimum port number in the range that is matched by the security
        group rule. If the protocol is TCP or UDP, this value must be less than
        or equal to the port_range_max attribute value. If nova is used by the
        cloud provider for security groups, then a value of None will be
        transformed to -1.

    port_range_max
        The maximum port number in the range that is matched by the security
        group rule. The port_range_min attribute constrains the port_range_max
        attribute. If nova is used by the cloud provider for security groups,
        then a value of None will be transformed to -1.

    protocol
        The protocol that is matched by the security group rule.  Valid values
        are ``None``, ``tcp``, ``udp``, and ``icmp``.

    remote_ip_prefix
        The remote IP prefix to be associated with this security group rule.
        This attribute matches the specified IP prefix as the source IP address
        of the IP packet.

    remote_group_id
        The remote group ID to be associated with this security group rule

    direction
        Either ``ingress`` or ``egress``; the direction in which the security
        group rule is applied. For a compute instance, an ingress security
        group rule is applied to incoming (ingress) traffic for that instance.
        An egress rule is applied to traffic leaving the instance

    ethertype
        Must be IPv4 or IPv6, and addresses represented in CIDR must match the
        ingress or egress rules

    project_id
        Specify the project ID this security group will be created on
        (admin-only)

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=secgroup1

        salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=secgroup2 port_range_min=8080          port_range_max=8080 direction='egress'

        salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=c0e1d1ce-7296-405e-919d-1c08217be529          protocol=icmp project_id=1dcac318a83b4610b7a7f7ba01465548

    (RRtcreate_security_group_rule(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsecurity_group_rule_create�s?cK@s%t|�}t|�}|j|�S(u�
    Delete a security group

    name_or_id
        The unique ID of the security group rule

    CLI Example:

    .. code-block:: bash

        salt '*' neutronng.security_group_rule_delete name_or_id=1dcac318a83b4610b7a7f7ba01465548

    (RRtdelete_security_group_rule(RR	R((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pytsecurity_group_rule_delete+s(!t__doc__t
__future__RRRRRRRtImportErrorRRR
RRRRRRR!R"R$R&R(R*R+R-R/R2R4R6R8R:(((s:/usr/lib/python2.7/site-packages/salt/modules/neutronng.pyt<module>s:

	
	

	

)N+D

Zerion Mini Shell 1.0