Add query params to all the proxy list calls

Change-Id: Ib2baa319593dae81206695c15c02574b24b17473
This commit is contained in:
TerryHowe 2015-07-12 19:28:50 -06:00
parent 900ce115d1
commit e33ae4613a
15 changed files with 287 additions and 126 deletions

View File

@ -39,13 +39,16 @@ class Proxy(proxy.BaseProxy):
return extension.Extension.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def extensions(self):
def extensions(self, **query):
"""Retrieve a generator of extensions
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of extension instances.
:rtype: :class:`~openstack.compute.v2.extension.Extension`
"""
return self._list(extension.Extension, paginated=False)
return self._list(extension.Extension, paginated=False, **query)
def find_flavor(self, name_or_id, ignore_missing=True):
"""Find a single flavor
@ -177,7 +180,7 @@ class Proxy(proxy.BaseProxy):
otherwise :class:`~openstack.compute.v2.image.Image`.
*Default: ``True``*
:param kwargs \*\*query: Optional query parameters to be sent to limit
the flavors being returned.
the resources being returned.
:returns: A generator of image objects
"""
@ -237,13 +240,16 @@ class Proxy(proxy.BaseProxy):
return keypair.Keypair.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def keypairs(self):
def keypairs(self, **query):
"""Return a generator of keypairs
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of keypair objects
:rtype: :class:`~openstack.compute.v2.keypair.Keypair`
"""
return self._list(keypair.Keypair, paginated=False)
return self._list(keypair.Keypair, paginated=False, **query)
def update_keypair(self, value, **attrs):
"""Update a keypair
@ -363,8 +369,7 @@ class Proxy(proxy.BaseProxy):
# Server expects changes-since, but we use an underscore
# so it can be a proper Python name.
if "changes_since" in query:
val = query.pop("changes_since")
query["changes-since"] = val
query["changes-since"] = query.pop("changes_since")
return self._list(srv, paginated=True, **query)
@ -444,13 +449,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(server_interface.ServerInterface, value)
def server_interfaces(self):
def server_interfaces(self, **query):
"""Return a generator of server interfaces
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of ServerInterface objects
:rtype: :class:`~openstack.compute.v2.server_interface.ServerInterface`
"""
return self._list(server_interface.ServerInterface, paginated=False)
return self._list(server_interface.ServerInterface, paginated=False,
**query)
def update_server_interface(self, value, **attrs):
"""Update a server interface
@ -481,10 +490,13 @@ class Proxy(proxy.BaseProxy):
return server_ip.ServerIP.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def server_ips(self):
def server_ips(self, **query):
"""Return a generator of server IPs
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of ServerIP objects
:rtype: :class:`~openstack.compute.v2.server_ip.ServerIP`
"""
return self._list(server_ip.ServerIP, paginated=False)
return self._list(server_ip.ServerIP, paginated=False, **query)

View File

@ -60,13 +60,16 @@ class Proxy(proxy.BaseProxy):
return database.Database.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def databases(self):
def databases(self, **query):
"""Return a generator of databases
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of database objects
:rtype: :class:`~openstack.database.v1.database.Database`
"""
return self._list(database.Database, paginated=False)
return self._list(database.Database, paginated=False, **query)
def get_database(self, value):
"""Get a single database
@ -107,13 +110,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(flavor.Flavor, value)
def flavors(self):
def flavors(self, **query):
"""Return a generator of flavors
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of flavor objects
:rtype: :class:`~openstack.database.v1.flavor.Flavor`
"""
return self._list(flavor.Flavor, paginated=False)
return self._list(flavor.Flavor, paginated=False, **query)
def create_instance(self, **attrs):
"""Create a new instance from attributes
@ -169,13 +175,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(instance.Instance, value)
def instances(self):
def instances(self, **query):
"""Return a generator of instances
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of instance objects
:rtype: :class:`~openstack.database.v1.instance.Instance`
"""
return self._list(instance.Instance, paginated=False)
return self._list(instance.Instance, paginated=False, **query)
def update_instance(self, value, **attrs):
"""Update a instance
@ -232,13 +241,16 @@ class Proxy(proxy.BaseProxy):
return user.User.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def users(self):
def users(self, **query):
"""Return a generator of users
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of user objects
:rtype: :class:`~openstack.database.v1.user.User`
"""
return self._list(user.User, paginated=False)
return self._list(user.User, paginated=False, **query)
def get_user(self, value):
"""Get a single user

View File

@ -71,13 +71,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(role.Role, value)
def roles(self):
def roles(self, **query):
"""Retrieve a generator of roles
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of role instances.
:rtype: :class:`~openstack.identity.v2.role.Role`
"""
return self._list(role.Role, paginated=True)
return self._list(role.Role, paginated=True, **query)
def update_role(self, value, **attrs):
"""Update a role
@ -145,13 +148,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(tenant.Tenant, value)
def tenants(self):
def tenants(self, **query):
"""Retrieve a generator of tenants
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of tenant instances.
:rtype: :class:`~openstack.identity.v2.tenant.Tenant`
"""
return self._list(tenant.Tenant, paginated=True)
return self._list(tenant.Tenant, paginated=True, **query)
def update_tenant(self, value, **attrs):
"""Update a tenant
@ -219,13 +225,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(user.User, value)
def users(self):
def users(self, **query):
"""Retrieve a generator of users
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of user instances.
:rtype: :class:`~openstack.identity.v2.user.User`
"""
return self._list(user.User, paginated=True)
return self._list(user.User, paginated=True, **query)
def update_user(self, value, **attrs):
"""Update a user

View File

@ -80,14 +80,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(credential.Credential, value)
def credentials(self):
def credentials(self, **query):
"""Retrieve a generator of credentials
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of credentials instances.
:rtype: :class:`~openstack.identity.v3.credential.Credential`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(credential.Credential, paginated=False)
return self._list(credential.Credential, paginated=False, **query)
def update_credential(self, value, **attrs):
"""Update a credential
@ -156,14 +159,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(domain.Domain, value)
def domains(self):
def domains(self, **query):
"""Retrieve a generator of domains
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of domain instances.
:rtype: :class:`~openstack.identity.v3.domain.Domain`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(domain.Domain, paginated=False)
return self._list(domain.Domain, paginated=False, **query)
def update_domain(self, value, **attrs):
"""Update a domain
@ -232,14 +238,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(endpoint.Endpoint, value)
def endpoints(self):
def endpoints(self, **query):
"""Retrieve a generator of endpoints
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of endpoint instances.
:rtype: :class:`~openstack.identity.v3.endpoint.Endpoint`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(endpoint.Endpoint, paginated=False)
return self._list(endpoint.Endpoint, paginated=False, **query)
def update_endpoint(self, value, **attrs):
"""Update a endpoint
@ -309,14 +318,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(group.Group, value)
def groups(self):
def groups(self, **query):
"""Retrieve a generator of groups
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of group instances.
:rtype: :class:`~openstack.identity.v3.group.Group`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(group.Group, paginated=False)
return self._list(group.Group, paginated=False, **query)
def update_group(self, value, **attrs):
"""Update a group
@ -384,14 +396,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(policy.Policy, value)
def policies(self):
def policies(self, **query):
"""Retrieve a generator of policies
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of policy instances.
:rtype: :class:`~openstack.identity.v3.policy.Policy`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(policy.Policy, paginated=False)
return self._list(policy.Policy, paginated=False, **query)
def update_policy(self, value, **attrs):
"""Update a policy
@ -459,14 +474,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(project.Project, value)
def projects(self):
def projects(self, **query):
"""Retrieve a generator of projects
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of project instances.
:rtype: :class:`~openstack.identity.v3.project.Project`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(project.Project, paginated=False)
return self._list(project.Project, paginated=False, **query)
def update_project(self, value, **attrs):
"""Update a project
@ -534,14 +552,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(service.Service, value)
def services(self):
def services(self, **query):
"""Retrieve a generator of services
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of service instances.
:rtype: :class:`~openstack.identity.v3.service.Service`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(service.Service, paginated=False)
return self._list(service.Service, paginated=False, **query)
def update_service(self, value, **attrs):
"""Update a service
@ -609,14 +630,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(user.User, value)
def users(self):
def users(self, **query):
"""Retrieve a generator of users
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of user instances.
:rtype: :class:`~openstack.identity.v3.user.User`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(user.User, paginated=False)
return self._list(user.User, paginated=False, **query)
def update_user(self, value, **attrs):
"""Update a user
@ -684,14 +708,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(trust.Trust, value)
def trusts(self):
def trusts(self, **query):
"""Retrieve a generator of trusts
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of trust instances.
:rtype: :class:`~openstack.identity.v3.trust.Trust`
"""
# TODO(briancurtin): This is paginated but requires base list changes.
return self._list(trust.Trust, paginated=False)
return self._list(trust.Trust, paginated=False, **query)
def update_trust(self, value, **attrs):
"""Update a trust

View File

@ -69,13 +69,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(image.Image, value)
def images(self):
def images(self, **query):
"""Return a generator of images
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of image objects
:rtype: :class:`~openstack.image.v1.image.Image`
"""
return self._list(image.Image, paginated=True)
return self._list(image.Image, paginated=True, **query)
def update_image(self, value, **attrs):
"""Update a image

View File

@ -71,13 +71,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(image.Image, value)
def images(self):
def images(self, **query):
"""Return a generator of images
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of image objects
:rtype: :class:`~openstack.image.v2.image.Image`
"""
return self._list(image.Image, paginated=True)
return self._list(image.Image, paginated=True, **query)
def update_image(self, value, **attrs):
"""Update a image
@ -145,13 +148,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(member.Member, value)
def members(self, **params):
def members(self, **query):
"""Return a generator of members
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of member objects
:rtype: :class:`~openstack.image.v2.member.Member`
"""
return self._list(member.Member, paginated=False)
return self._list(member.Member, paginated=False, **query)
def update_member(self, value, **attrs):
"""Update a member

View File

@ -74,13 +74,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(container.Container, value)
def containers(self):
def containers(self, **query):
"""Return a generator of containers
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of container objects
:rtype: :class:`~openstack.key_management.v1.container.Container`
"""
return self._list(container.Container, paginated=False)
return self._list(container.Container, paginated=False, **query)
def update_container(self, value, **attrs):
"""Update a container
@ -151,13 +154,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(order.Order, value)
def orders(self):
def orders(self, **query):
"""Return a generator of orders
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of order objects
:rtype: :class:`~openstack.key_management.v1.order.Order`
"""
return self._list(order.Order, paginated=False)
return self._list(order.Order, paginated=False, **query)
def update_order(self, value, **attrs):
"""Update a order
@ -227,13 +233,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(secret.Secret, value)
def secrets(self):
def secrets(self, **query):
"""Return a generator of secrets
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of secret objects
:rtype: :class:`~openstack.key_management.v1.secret.Secret`
"""
return self._list(secret.Secret, paginated=False)
return self._list(secret.Secret, paginated=False, **query)
def update_secret(self, value, **attrs):
"""Update a secret

View File

@ -16,10 +16,13 @@ from openstack import proxy
class Proxy(proxy.BaseProxy):
def capabilities(self):
def capabilities(self, **query):
"""Return a generator of capabilities
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of capability objects
:rtype: :class:`~openstack.metric.v1.capabilities.Capabilities`
"""
return self._list(capabilities.Capabilities, paginated=False)
return self._list(capabilities.Capabilities, paginated=False, **query)

View File

@ -47,13 +47,16 @@ class Proxy(proxy.BaseProxy):
return extension.Extension.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def extensions(self):
def extensions(self, **query):
"""Return a generator of extensions
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of extension objects
:rtype: :class:`~openstack.network.v2.extension.Extension`
"""
return self._list(extension.Extension, paginated=False)
return self._list(extension.Extension, paginated=False, **query)
def create_ip(self, **attrs):
"""Create a new floating ip from attributes
@ -119,13 +122,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(floating_ip.FloatingIP, value)
def ips(self):
def ips(self, **query):
"""Return a generator of ips
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of floating IP objects
:rtype: :class:`~openstack.network.v2.floating_ip.FloatingIP`
"""
return self._list(floating_ip.FloatingIP, paginated=False)
return self._list(floating_ip.FloatingIP, paginated=False, **query)
def update_ip(self, value, **attrs):
"""Update a ip
@ -199,13 +205,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(health_monitor.HealthMonitor, value)
def health_monitors(self):
def health_monitors(self, **query):
"""Return a generator of health monitors
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of health monitor objects
:rtype: :class:`~openstack.network.v2.health_monitor.HealthMonitor`
"""
return self._list(health_monitor.HealthMonitor, paginated=False)
return self._list(health_monitor.HealthMonitor, paginated=False,
**query)
def update_health_monitor(self, value, **attrs):
"""Update a health monitor
@ -275,13 +285,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(listener.Listener, value)
def listeners(self):
def listeners(self, **query):
"""Return a generator of listeners
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of listener objects
:rtype: :class:`~openstack.network.v2.listener.Listener`
"""
return self._list(listener.Listener, paginated=False)
return self._list(listener.Listener, paginated=False, **query)
def update_listener(self, value, **attrs):
"""Update a listener
@ -354,13 +367,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(load_balancer.LoadBalancer, value)
def load_balancers(self):
def load_balancers(self, **query):
"""Return a generator of load balancers
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of load balancer objects
:rtype: :class:`~openstack.network.v2.load_balancer.LoadBalancer`
"""
return self._list(load_balancer.LoadBalancer, paginated=False)
return self._list(load_balancer.LoadBalancer, paginated=False, **query)
def update_load_balancer(self, value, **attrs):
"""Update a load balancer
@ -434,13 +450,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(metering_label.MeteringLabel, value)
def metering_labels(self):
def metering_labels(self, **query):
"""Return a generator of metering labels
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of metering label objects
:rtype: :class:`~openstack.network.v2.metering_label.MeteringLabel`
"""
return self._list(metering_label.MeteringLabel, paginated=False)
return self._list(metering_label.MeteringLabel, paginated=False,
**query)
def update_metering_label(self, value, **attrs):
"""Update a metering label
@ -517,15 +537,18 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(metering_label_rule.MeteringLabelRule, value)
def metering_label_rules(self):
def metering_label_rules(self, **query):
"""Return a generator of metering label rules
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of metering label rule objects
:rtype: :class:`~openstack.network.v2.metering_label_rule.
MeteringLabelRule`
"""
return self._list(metering_label_rule.MeteringLabelRule,
paginated=False)
paginated=False, **query)
def update_metering_label_rule(self, value, **attrs):
"""Update a metering label rule
@ -596,13 +619,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(network.Network, value)
def networks(self):
def networks(self, **query):
"""Return a generator of networks
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of network objects
:rtype: :class:`~openstack.network.v2.network.Network`
"""
return self._list(network.Network, paginated=False)
return self._list(network.Network, paginated=False, **query)
def update_network(self, value, **attrs):
"""Update a network
@ -670,13 +696,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(_pool.Pool, value)
def pools(self):
def pools(self, **query):
"""Return a generator of pools
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of pool objects
:rtype: :class:`~openstack.network.v2.pool.Pool`
"""
return self._list(_pool.Pool, paginated=False)
return self._list(_pool.Pool, paginated=False, **query)
def update_pool(self, value, **attrs):
"""Update a pool
@ -757,19 +786,22 @@ class Proxy(proxy.BaseProxy):
return self._get(pool_member.PoolMember, member,
path_args={'pool_id': pool.id})
def pool_members(self, pool):
def pool_members(self, pool, **query):
"""Return a generator of pool members
:param pool: The pool can be either the ID of a pool or a
:class:`~openstack.network.v2.pool.Pool` instance that
the member belongs to.
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of pool member objects
:rtype: :class:`~openstack.network.v2.pool_member.PoolMember`
"""
pool = _pool.Pool.from_id(pool)
return self._list(pool_member.PoolMember,
path_args={'pool_id': pool.id}, paginated=False)
path_args={'pool_id': pool.id}, paginated=False,
**query)
def update_pool_member(self, member, **attrs):
"""Update a pool member
@ -838,13 +870,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(port.Port, value)
def ports(self):
def ports(self, **query):
"""Return a generator of ports
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of port objects
:rtype: :class:`~openstack.network.v2.port.Port`
"""
return self._list(port.Port, paginated=False)
return self._list(port.Port, paginated=False, **query)
def update_port(self, value, **attrs):
"""Update a port
@ -876,13 +911,16 @@ class Proxy(proxy.BaseProxy):
result.append(puerta)
return result
def quotas(self):
def quotas(self, **query):
"""Return a generator of quotas
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of quota objects
:rtype: :class:`~openstack.network.v2.quota.Quota`
"""
return self._list(quota.Quota, paginated=False)
return self._list(quota.Quota, paginated=False, **query)
def create_router(self, **attrs):
"""Create a new router from attributes
@ -937,13 +975,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(router.Router, value)
def routers(self):
def routers(self, **query):
"""Return a generator of routers
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of router objects
:rtype: :class:`~openstack.network.v2.router.Router`
"""
return self._list(router.Router, paginated=False)
return self._list(router.Router, paginated=False, **query)
def update_router(self, value, **attrs):
"""Update a router
@ -1022,13 +1063,17 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(security_group.SecurityGroup, value)
def security_groups(self):
def security_groups(self, **query):
"""Return a generator of security groups
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of security group objects
:rtype: :class:`~openstack.network.v2.security_group.SecurityGroup`
"""
return self._list(security_group.SecurityGroup, paginated=False)
return self._list(security_group.SecurityGroup, paginated=False,
**query)
def update_security_group(self, value, **attrs):
"""Update a security group
@ -1128,15 +1173,18 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(security_group_rule.SecurityGroupRule, value)
def security_group_rules(self):
def security_group_rules(self, **query):
"""Return a generator of security group rules
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of security group rule objects
:rtype: :class:`~openstack.network.v2.security_group_rule.
SecurityGroupRule`
"""
return self._list(security_group_rule.SecurityGroupRule,
paginated=False)
paginated=False, **query)
def update_security_group_rule(self, value, **attrs):
"""Update a security group rule
@ -1207,13 +1255,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(subnet.Subnet, value)
def subnets(self):
def subnets(self, **query):
"""Return a generator of subnets
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of subnet objects
:rtype: :class:`~openstack.network.v2.subnet.Subnet`
"""
return self._list(subnet.Subnet, paginated=False)
return self._list(subnet.Subnet, paginated=False, **query)
def update_subnet(self, value, **attrs):
"""Update a subnet
@ -1286,13 +1337,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(vpn_service.VPNService, value)
def vpn_services(self):
def vpn_services(self, **query):
"""Return a generator of vpn services
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of vpn service objects
:rtype: :class:`~openstack.network.v2.vpn_service.VPNService`
"""
return self._list(vpn_service.VPNService, paginated=False)
return self._list(vpn_service.VPNService, paginated=False, **query)
def update_vpn_service(self, value, **attrs):
"""Update a vpn service

View File

@ -38,21 +38,16 @@ class Proxy(proxy.BaseProxy):
"""
container.update(self.session)
def containers(self, **kwargs):
def containers(self, **query):
"""Obtain Container objects for this account.
:param int limit: Set the limit of how many containers to retrieve
in each request to the server. By default, the value is ``None``,
retrieving the maximum amount of containers per request that
your server allows.
:param str marker: The name of the container to begin iterating from.
By default, the value is ``None``, returning all available
containers.
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:rtype: A generator of
:class:`~openstack.object_store.v1.container.Container` objects.
"""
return _container.Container.list(self.session, **kwargs)
return _container.Container.list(self.session, **query)
def get_container_metadata(self, value):
"""Get metatdata for a container
@ -109,13 +104,15 @@ class Proxy(proxy.BaseProxy):
self._delete(_container.Container, value,
ignore_missing=ignore_missing)
def objects(self, container, **kwargs):
def objects(self, container, **query):
"""Return a generator that yields the Container's objects.
:param container: A container object or the name of a container
that you want to retrieve objects from.
:type container:
:class:`~openstack.object_store.v1.container.Container`
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:rtype: A generator of
:class:`~openstack.object_store.v1.obj.Object` objects.
@ -124,7 +121,7 @@ class Proxy(proxy.BaseProxy):
objs = _obj.Object.list(self.session,
path_args={"container": container.name},
**kwargs)
**query)
# TODO(briancurtin): Objects have to know their container at this
# point, otherwise further operations like getting their metadata
# or downloading them is a hassle because the end-user would have

View File

@ -45,13 +45,16 @@ class Proxy(proxy.BaseProxy):
return stack.Stack.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def stacks(self):
def stacks(self, **query):
"""Return a generator of stacks
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of stack objects
:rtype: :class:`~openstack.orchestration.v1.stack.Stack`
"""
return self._list(stack.Stack, paginated=False)
return self._list(stack.Stack, paginated=False, **query)
def get_stack(self, value):
"""Get a single stack
@ -86,11 +89,14 @@ class Proxy(proxy.BaseProxy):
return resource.wait_for_status(self.session, value, status,
failures, interval, wait)
def resources(self, value):
def resources(self, value, **query):
"""Return a generator of resources
:param value: This can be a stack object, or the name of a stack
for which the resources are to be listed.
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of resource objects if the stack exists and
there are resources in it. If the stack cannot be found,
an exception is thrown.
@ -119,4 +125,4 @@ class Proxy(proxy.BaseProxy):
'stack_id': stk.id,
}
return self._list(stack_resource.Resource, paginated=False,
path_args=path_args)
path_args=path_args, **query)

View File

@ -186,7 +186,7 @@ class BaseProxy(object):
query = res._convert_ids(query)
return res.list(self.session, path_args=path_args, paginated=paginated,
**query)
params=query)
def _head(self, resource_type, value=None, path_args=None):
"""Retrieve a resource's header

View File

@ -75,13 +75,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(alarm.Alarm, value)
def alarms(self):
def alarms(self, **query):
"""Return a generator of alarms
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of alarm objects
:rtype: :class:`~openstack.telemetry.v2.alarm.Alarm`
"""
return self._list(alarm.Alarm, paginated=False)
return self._list(alarm.Alarm, paginated=False, **query)
def update_alarm(self, value, **attrs):
"""Update a alarm
@ -111,16 +114,19 @@ class Proxy(proxy.BaseProxy):
return alarm_change.AlarmChange.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def alarm_changes(self, value):
def alarm_changes(self, value, **query):
"""Return a generator of alarm changes
:param value: Alarm resource or id for alarm.
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of alarm change objects
:rtype: :class:`~openstack.telemetry.v2.alarm_change.AlarmChange`
"""
alarm_id = alarm.Alarm.from_id(value).id
return self._list(alarm_change.AlarmChange, paginated=False,
path_args={'alarm_id': alarm_id})
path_args={'alarm_id': alarm_id}, **query)
def find_capability(self, name_or_id, ignore_missing=True):
"""Find a single capability
@ -137,13 +143,16 @@ class Proxy(proxy.BaseProxy):
return capability.Capability.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def capabilities(self):
def capabilities(self, **query):
"""Return a generator of capabilities
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of capability objects
:rtype: :class:`~openstack.telemetry.v2.capability.Capability`
"""
return self._list(capability.Capability, paginated=False)
return self._list(capability.Capability, paginated=False, **query)
def find_meter(self, name_or_id, ignore_missing=True):
"""Find a single meter
@ -159,13 +168,16 @@ class Proxy(proxy.BaseProxy):
return meter.Meter.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def meters(self):
def meters(self, **query):
"""Return a generator of meters
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of meter objects
:rtype: :class:`~openstack.telemetry.v2.meter.Meter`
"""
return self._list(meter.Meter, paginated=False)
return self._list(meter.Meter, paginated=False, **query)
def find_resource(self, name_or_id, ignore_missing=True):
"""Find a single resource
@ -195,13 +207,16 @@ class Proxy(proxy.BaseProxy):
"""
return self._get(resource.Resource, value)
def resources(self):
def resources(self, **query):
"""Return a generator of resources
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of resource objects
:rtype: :class:`~openstack.telemetry.v2.resource.Resource`
"""
return self._list(resource.Resource, paginated=False)
return self._list(resource.Resource, paginated=False, **query)
def create_sample(self, **attrs):
"""Create a new sample from attributes
@ -229,13 +244,16 @@ class Proxy(proxy.BaseProxy):
return sample.Sample.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def samples(self):
def samples(self, **query):
"""Return a generator of samples
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of sample objects
:rtype: :class:`~openstack.telemetry.v2.sample.Sample`
"""
return self._list(sample.Sample, paginated=False)
return self._list(sample.Sample, paginated=False, **query)
def find_statistics(self, name_or_id, ignore_missing=True):
"""Find a single statistics
@ -252,13 +270,16 @@ class Proxy(proxy.BaseProxy):
return statistics.Statistics.find(self.session, name_or_id,
ignore_missing=ignore_missing)
def statistics(self, value):
def statistics(self, value, **query):
"""Return a generator of statistics
:param value: Meter resource or name for a meter.
:param kwargs \*\*query: Optional query parameters to be sent to limit
the resources being returned.
:returns: A generator of statistics objects
:rtype: :class:`~openstack.telemetry.v2.statistics.Statistics`
"""
meter_name = meter.Meter.from_name(value).name
return self._list(statistics.Statistics, paginated=False,
path_args={'meter_name': meter_name})
path_args={'meter_name': meter_name}, **query)

View File

@ -263,11 +263,9 @@ class TestProxyList(testtools.TestCase):
paginated=paginated, **query)
self.assertEqual(self.fake_response, rv)
ListableResource.list.assert_called_once_with(self.session,
path_args=path_args,
paginated=paginated,
a=self.fake_a,
b=self.fake_b)
ListableResource.list.assert_called_once_with(
self.session, path_args=path_args, paginated=paginated,
params={'a': self.fake_a, 'b': self.fake_b})
def test_list_paginated(self):
self._test_list(self.fake_path_args, True, **self.fake_query)

View File

@ -149,7 +149,11 @@ class TestProxyBase(base.TestCase):
**kwargs):
expected_kwargs = kwargs.pop("expected_kwargs", {})
expected_kwargs.update({"paginated": paginated})
expected_kwargs['limit'] = 2
method_kwargs = kwargs.pop("method_kwargs", {})
method_kwargs['limit'] = 2
self._verify2(mock_method, test_method,
method_kwargs=method_kwargs,
expected_args=[resource_type],
expected_kwargs=expected_kwargs,
expected_result=["result"],