Class Fog::Network::OpenStack::Real
In: lib/fog/network/openstack.rb
lib/fog/network/openstack/requests/update_lbaas_l7policy.rb
lib/fog/network/openstack/requests/update_lbaas_l7rule.rb
lib/fog/network/openstack/requests/update_lbaas_loadbalancer.rb
lib/fog/network/openstack/requests/update_rbac_policy.rb
lib/fog/network/openstack/requests/get_rbac_policy.rb
lib/fog/network/openstack/requests/create_lb_pool.rb
lib/fog/network/openstack/requests/list_extensions.rb
lib/fog/network/openstack/requests/list_lb_vips.rb
lib/fog/network/openstack/requests/get_lbaas_listener.rb
lib/fog/network/openstack/requests/delete_subnet_pool.rb
lib/fog/network/openstack/requests/associate_lb_health_monitor.rb
lib/fog/network/openstack/requests/get_lbaas_loadbalancer.rb
lib/fog/network/openstack/requests/create_lb_vip.rb
lib/fog/network/openstack/requests/list_rbac_policies.rb
lib/fog/network/openstack/requests/update_quota.rb
lib/fog/network/openstack/requests/update_network.rb
lib/fog/network/openstack/requests/update_lb_member.rb
lib/fog/network/openstack/requests/list_lbaas_l7rules.rb
lib/fog/network/openstack/requests/delete_rbac_policy.rb
lib/fog/network/openstack/requests/update_lb_vip.rb
lib/fog/network/openstack/requests/disassociate_floating_ip.rb
lib/fog/network/openstack/requests/update_subnet.rb
lib/fog/network/openstack/requests/delete_lbaas_l7policy.rb
lib/fog/network/openstack/requests/get_ipsec_policy.rb
lib/fog/network/openstack/requests/create_ipsec_site_connection.rb
lib/fog/network/openstack/requests/update_lbaas_healthmonitor.rb
lib/fog/network/openstack/requests/create_security_group_rule.rb
lib/fog/network/openstack/requests/create_ike_policy.rb
lib/fog/network/openstack/requests/update_lbaas_pool.rb
lib/fog/network/openstack/requests/delete_router.rb
lib/fog/network/openstack/requests/get_lbaas_healthmonitor.rb
lib/fog/network/openstack/requests/delete_lb_vip.rb
lib/fog/network/openstack/requests/get_network_ip_availability.rb
lib/fog/network/openstack/requests/list_lbaas_loadbalancers.rb
lib/fog/network/openstack/requests/update_vpn_service.rb
lib/fog/network/openstack/requests/get_lbaas_pool_member.rb
lib/fog/network/openstack/requests/get_router.rb
lib/fog/network/openstack/requests/create_lbaas_l7policy.rb
lib/fog/network/openstack/requests/create_security_group.rb
lib/fog/network/openstack/requests/list_ike_policies.rb
lib/fog/network/openstack/requests/get_lb_pool.rb
lib/fog/network/openstack/requests/get_ipsec_site_connection.rb
lib/fog/network/openstack/requests/delete_port.rb
lib/fog/network/openstack/requests/create_lbaas_loadbalancer.rb
lib/fog/network/openstack/requests/update_ipsec_policy.rb
lib/fog/network/openstack/requests/create_lb_health_monitor.rb
lib/fog/network/openstack/requests/list_lbaas_pool_members.rb
lib/fog/network/openstack/requests/get_lbaas_l7policy.rb
lib/fog/network/openstack/requests/list_lbaas_listeners.rb
lib/fog/network/openstack/requests/list_ipsec_site_connections.rb
lib/fog/network/openstack/requests/create_subnet.rb
lib/fog/network/openstack/requests/get_lbaas_pool.rb
lib/fog/network/openstack/requests/create_floating_ip.rb
lib/fog/network/openstack/requests/list_security_group_rules.rb
lib/fog/network/openstack/requests/get_lb_pool_stats.rb
lib/fog/network/openstack/requests/list_routers.rb
lib/fog/network/openstack/requests/add_router_interface.rb
lib/fog/network/openstack/requests/get_security_group.rb
lib/fog/network/openstack/requests/delete_quota.rb
lib/fog/network/openstack/requests/get_lb_vip.rb
lib/fog/network/openstack/requests/update_lbaas_listener.rb
lib/fog/network/openstack/requests/create_lbaas_pool_member.rb
lib/fog/network/openstack/requests/get_lb_health_monitor.rb
lib/fog/network/openstack/requests/list_lbaas_l7policies.rb
lib/fog/network/openstack/requests/create_router.rb
lib/fog/network/openstack/requests/delete_ike_policy.rb
lib/fog/network/openstack/requests/delete_lb_member.rb
lib/fog/network/openstack/requests/create_port.rb
lib/fog/network/openstack/requests/delete_floating_ip.rb
lib/fog/network/openstack/requests/create_vpn_service.rb
lib/fog/network/openstack/requests/update_lb_pool.rb
lib/fog/network/openstack/requests/create_lbaas_healthmonitor.rb
lib/fog/network/openstack/requests/remove_router_interface.rb
lib/fog/network/openstack/requests/create_lbaas_pool.rb
lib/fog/network/openstack/requests/delete_lbaas_l7rule.rb
lib/fog/network/openstack/requests/delete_ipsec_site_connection.rb
lib/fog/network/openstack/requests/update_ike_policy.rb
lib/fog/network/openstack/requests/update_lb_health_monitor.rb
lib/fog/network/openstack/requests/delete_lbaas_healthmonitor.rb
lib/fog/network/openstack/requests/delete_lbaas_pool.rb
lib/fog/network/openstack/requests/update_lbaas_pool_member.rb
lib/fog/network/openstack/requests/get_floating_ip.rb
lib/fog/network/openstack/requests/list_networks.rb
lib/fog/network/openstack/requests/delete_lb_pool.rb
lib/fog/network/openstack/requests/list_security_groups.rb
lib/fog/network/openstack/requests/delete_security_group.rb
lib/fog/network/openstack/requests/set_tenant.rb
lib/fog/network/openstack/requests/get_quotas.rb
lib/fog/network/openstack/requests/get_lbaas_l7rule.rb
lib/fog/network/openstack/requests/list_lb_pools.rb
lib/fog/network/openstack/requests/get_network.rb
lib/fog/network/openstack/requests/update_security_group.rb
lib/fog/network/openstack/requests/list_ipsec_policies.rb
lib/fog/network/openstack/requests/create_lbaas_l7rule.rb
lib/fog/network/openstack/requests/list_lb_health_monitors.rb
lib/fog/network/openstack/requests/create_ipsec_policy.rb
lib/fog/network/openstack/requests/create_subnet_pool.rb
lib/fog/network/openstack/requests/delete_network.rb
lib/fog/network/openstack/requests/delete_vpn_service.rb
lib/fog/network/openstack/requests/delete_ipsec_policy.rb
lib/fog/network/openstack/requests/associate_floating_ip.rb
lib/fog/network/openstack/requests/list_lbaas_healthmonitors.rb
lib/fog/network/openstack/requests/delete_security_group_rule.rb
lib/fog/network/openstack/requests/get_lb_member.rb
lib/fog/network/openstack/requests/update_router.rb
lib/fog/network/openstack/requests/list_vpn_services.rb
lib/fog/network/openstack/requests/create_network.rb
lib/fog/network/openstack/requests/disassociate_lb_health_monitor.rb
lib/fog/network/openstack/requests/get_ike_policy.rb
lib/fog/network/openstack/requests/get_subnet.rb
lib/fog/network/openstack/requests/list_floating_ips.rb
lib/fog/network/openstack/requests/create_lbaas_listener.rb
lib/fog/network/openstack/requests/delete_lbaas_listener.rb
lib/fog/network/openstack/requests/get_subnet_pool.rb
lib/fog/network/openstack/requests/get_quota.rb
lib/fog/network/openstack/requests/create_rbac_policy.rb
lib/fog/network/openstack/requests/update_subnet_pool.rb
lib/fog/network/openstack/requests/create_lb_member.rb
lib/fog/network/openstack/requests/list_network_ip_availabilities.rb
lib/fog/network/openstack/requests/get_extension.rb
lib/fog/network/openstack/requests/list_subnet_pools.rb
lib/fog/network/openstack/requests/get_vpn_service.rb
lib/fog/network/openstack/requests/delete_subnet.rb
lib/fog/network/openstack/requests/list_lbaas_pools.rb
lib/fog/network/openstack/requests/update_port.rb
lib/fog/network/openstack/requests/delete_lb_health_monitor.rb
lib/fog/network/openstack/requests/delete_lbaas_pool_member.rb
lib/fog/network/openstack/requests/get_port.rb
lib/fog/network/openstack/requests/update_ipsec_site_connection.rb
lib/fog/network/openstack/requests/get_security_group_rule.rb
lib/fog/network/openstack/requests/list_subnets.rb
lib/fog/network/openstack/requests/list_lb_members.rb
lib/fog/network/openstack/requests/list_ports.rb
lib/fog/network/openstack/requests/delete_lbaas_loadbalancer.rb
Parent: Object

Methods

add_router_interface   associate_floating_ip   associate_lb_health_monitor   create   create_floating_ip   create_ike_policy   create_ipsec_policy   create_ipsec_site_connection   create_lb_health_monitor   create_lb_member   create_lb_pool   create_lb_vip   create_lbaas_healthmonitor   create_lbaas_l7policy   create_lbaas_l7rule   create_lbaas_listener   create_lbaas_loadbalancer   create_lbaas_pool   create_lbaas_pool_member   create_network   create_port   create_rbac_policy   create_router   create_security_group   create_security_group_rule   create_subnet   create_subnet_pool   create_vpn_service   delete_floating_ip   delete_ike_policy   delete_ipsec_policy   delete_ipsec_site_connection   delete_lb_health_monitor   delete_lb_member   delete_lb_pool   delete_lb_vip   delete_lbaas_healthmonitor   delete_lbaas_l7policy   delete_lbaas_l7rule   delete_lbaas_listener   delete_lbaas_loadbalancer   delete_lbaas_pool   delete_lbaas_pool_member   delete_network   delete_port   delete_quota   delete_rbac_policy   delete_router   delete_security_group   delete_security_group_rule   delete_subnet   delete_subnet_pool   delete_vpn_service   disassociate_floating_ip   disassociate_lb_health_monitor   get_extension   get_floating_ip   get_ike_policy   get_ipsec_policy   get_ipsec_site_connection   get_lb_health_monitor   get_lb_member   get_lb_pool   get_lb_pool_stats   get_lb_vip   get_lbaas_healthmonitor   get_lbaas_l7policy   get_lbaas_l7rule   get_lbaas_listener   get_lbaas_loadbalancer   get_lbaas_pool   get_lbaas_pool_member   get_network   get_network_ip_availability   get_port   get_quota   get_quotas   get_rbac_policy   get_router   get_security_group   get_security_group_rule   get_subnet   get_subnet_pool   get_vpn_service   list_extensions   list_floating_ips   list_ike_policies   list_ipsec_policies   list_ipsec_site_connections   list_lb_health_monitors   list_lb_members   list_lb_pools   list_lb_vips   list_lbaas_healthmonitors   list_lbaas_l7policies   list_lbaas_l7rules   list_lbaas_listeners   list_lbaas_loadbalancers   list_lbaas_pool_members   list_lbaas_pools   list_network_ip_availabilities   list_networks   list_ports   list_rbac_policies   list_routers   list_security_group_rules   list_security_groups   list_subnet_pools   list_subnets   list_vpn_services   new   not_found_class   remove_router_interface   set_api_path   set_tenant   update   update_ike_policy   update_ipsec_policy   update_ipsec_site_connection   update_lb_health_monitor   update_lb_member   update_lb_pool   update_lb_vip   update_lbaas_healthmonitor   update_lbaas_l7policy   update_lbaas_l7rule   update_lbaas_listener   update_lbaas_loadbalancer   update_lbaas_pool   update_lbaas_pool_member   update_network   update_port   update_quota   update_rbac_policy   update_router   update_security_group   update_subnet   update_subnet_pool   update_vpn_service  

Included Modules

Fog::OpenStack::Core

Constants

UPDATE_OPTIONS = [ :name, :shared, :admin_state_up, :qos_policy_id, :port_security_enabled   Not all options can be updated
UPDATE_EXTENTED_OPTIONS = [ :router_external   Not all extra options can be updated
CREATE_OPTIONS = [ :name, :shared, :admin_state_up, :qos_policy_id, :port_security_enabled, :tenant_id, ].freeze
EXTENTED_OPTIONS = [ :provider_network_type, :provider_segmentation_id, :provider_physical_network, :router_external, ].freeze   Advanced Features through API Extensions

Not strictly required but commonly found in OpenStack installs with Quantum networking.

@see docs.openstack.org/trunk/openstack-network/admin/content/provider_attributes.html

ALIASES = { :provider_network_type => 'provider:network_type', # Not applicable to the "local" or "gre" network types :provider_physical_network => 'provider:physical_network', :provider_segmentation_id => 'provider:segmentation_id', :router_external => 'router:external'   Map Fog::Network::OpenStack::Network model attributes to OpenStack provider attributes

Public Class methods

Public Instance methods

Create a new security group

Parameters

  • options<~Hash>:
    • ‘name’<~String> - Name of the security group
    • ‘description’<~String> - Description of the security group
    • ‘tenant_id’<~String> - TenantId different than the current user, that should own the security group. Only allowed if user has ‘admin’ role.

Returns

  • response<~Excon::Response>:
    • body<~Hash>:
    • ‘security_groups’<~Array>:
      • ‘id’<~String> - UUID of the security group
      • ‘name’<~String> - Name of the security group
      • ‘description’<~String> - Description of the security group
      • ‘tenant_id’<~String> - Tenant id that owns the security group
      • ‘security_group_rules’<~Array>: - Array of security group rules
        • ‘id’<~String> - UUID of the security group rule
        • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
        • ‘port_range_min’<~Integer> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
        • ‘port_range_max’<~Integer> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
        • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
        • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
        • ‘security_group_id’<~String> - UUID of the parent security group
        • ‘remote_group_id’<~String> - UUID of the remote security group
        • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
        • ‘tenant_id’<~String> - Tenant id that owns the security group rule

Create a new security group rule

Parameters

  • ‘security_group_id’<~String> - UUID of the parent security group
  • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
  • options<~Hash>:
    • ‘port_range_min’<~Integer> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
    • ‘port_range_max’<~Integer> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
    • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
    • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
    • ‘remote_group_id’<~String> - UUID of the remote security group
    • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
    • ‘tenant_id’<~String> - TenantId different than the current user, that should own the security group. Only allowed if user has ‘admin’ role.

Returns

  • response<~Excon::Response>:
    • body<~Hash>:
    • ‘security_group_rule’<~Hash>:
      • ‘id’<~String> - UUID of the security group rule
      • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
      • ‘port_range_min’<~String> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
      • ‘port_range_max’<~String> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
      • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
      • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
      • ‘security_group_id’<~String> - UUID of the parent security group
      • ‘remote_group_id’<~String> - UUID of the source security group
      • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
      • ‘tenant_id’<~String> - Tenant id that owns the security group rule

Delete a security group

Parameters

  • ‘security_group_id’<~String> - UUID of the security group to delete

Delete a security group rule

Parameters

  • ‘security_group_rule_id’<~String> - UUID of the security group rule to delete

Get details about a security group

Parameters

  • ‘security_group_id’<~String> - UUID of the security group

Returns

  • response<~Excon::Response>:
    • body<~Hash>:
    • ‘security_group’<~Array>:
      • ‘id’<~String> - UUID of the security group
      • ‘name’<~String> - Name of the security group
      • ‘description’<~String> - Description of the security group
      • ‘tenant_id’<~String> - Tenant id that owns the security group
      • ‘security_group_rules’<~Array>: - Array of security group rules
        • ‘id’<~String> - UUID of the security group rule
        • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
        • ‘port_range_min’<~Integer> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
        • ‘port_range_max’<~Integer> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
        • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
        • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
        • ‘security_group_id’<~String> - UUID of the parent security group
        • ‘remote_group_id’<~String> - UUID of the remote security group
        • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
        • ‘tenant_id’<~String> - Tenant id that owns the security group rule

Get details about a security group rule

Parameters

  • ‘security_group_rule_id’<~String> - UUID of the security group rule

Returns

  • response<~Excon::Response>:
    • body<~Hash>:
    • ‘security_group_rule’<~Hash>:
      • ‘id’<~String> - UUID of the security group rule
      • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
      • ‘port_range_min’<~Integer> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
      • ‘port_range_max’<~Integer> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
      • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
      • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
      • ‘security_group_id’<~String> - UUID of the parent security group
      • ‘remote_group_id’<~String> - UUID of the remote security group
      • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
      • ‘tenant_id’<~String> - Tenant id that owns the security group rule

List all security group rules

Parameters

  • options<~Hash>:

Returns

  • response<~Excon::Response>:
    • body<~Hash>:
    • ‘security_group_rules’<~Array>:
      • ‘id’<~String> - UUID of the security group rule
      • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
      • ‘port_range_min’<~Integer> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
      • ‘port_range_max’<~Integer> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
      • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
      • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
      • ‘security_group_id’<~String> - UUID of the parent security group
      • ‘remote_group_id’<~String> - UUID of the remote security group
      • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
      • ‘tenant_id’<~String> - Tenant id that owns the security group rule

List all security groups

Parameters

  • options<~Hash>:

Returns

  • response<~Excon::Response>:
    • body<~Hash>:
    • ‘security_groups’<~Array>:
      • ‘id’<~String> - UUID of the security group
      • ‘name’<~String> - Name of the security group
      • ‘description’<~String> - Description of the security group
      • ‘tenant_id’<~String> - Tenant id that owns the security group
      • ‘security_group_rules’<~Array>: - Array of security group rules
        • ‘id’<~String> - UUID of the security group rule
        • ‘direction’<~String> - Direction of traffic, must be in [‘ingress’, ‘egress’]
        • ‘port_range_min’<~Integer> - Start port for rule i.e. 22 (or -1 for ICMP wildcard)
        • ‘port_range_max’<~Integer> - End port for rule i.e. 22 (or -1 for ICMP wildcard)
        • ‘protocol’<~String> - IP protocol for rule, must be in [‘tcp’, ‘udp’, ‘icmp’]
        • ‘ethertype’<~String> - Type of ethernet support, must be in [‘IPv4’, ‘IPv6’]
        • ‘security_group_id’<~String> - UUID of the parent security group
        • ‘remote_group_id’<~String> - UUID of the remote security group
        • ‘remote_ip_prefix’<~String> - IP cidr range address i.e. ‘0.0.0.0/0‘
        • ‘tenant_id’<~String> - Tenant id that owns the security group rule

Update Router

Beyond the name and the administrative state, the only parameter which can be updated with this operation is the external gateway. @see docs.openstack.org/api/openstack-network/2.0/content/router_update.html

[Validate]