python-openstackclient 8.3.0__py3-none-any.whl → 10.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openstackclient/__init__.py +2 -6
- openstackclient/api/api.py +41 -23
- openstackclient/api/compute_v2.py +44 -25
- openstackclient/api/object_store_v1.py +75 -97
- openstackclient/api/volume_v2.py +2 -1
- openstackclient/api/volume_v3.py +2 -1
- openstackclient/common/availability_zone.py +58 -42
- openstackclient/common/clientmanager.py +56 -29
- openstackclient/common/configuration.py +10 -3
- openstackclient/common/envvars.py +2 -2
- openstackclient/common/extension.py +14 -5
- openstackclient/common/limits.py +10 -5
- openstackclient/common/module.py +14 -6
- openstackclient/common/pagination.py +8 -2
- openstackclient/common/progressbar.py +7 -6
- openstackclient/common/project_cleanup.py +13 -7
- openstackclient/common/quota.py +126 -114
- openstackclient/common/versions.py +8 -2
- openstackclient/compute/client.py +7 -3
- openstackclient/compute/v2/agent.py +17 -10
- openstackclient/compute/v2/aggregate.py +36 -22
- openstackclient/compute/v2/console.py +14 -8
- openstackclient/compute/v2/console_connection.py +11 -3
- openstackclient/compute/v2/flavor.py +39 -21
- openstackclient/compute/v2/host.py +14 -6
- openstackclient/compute/v2/hypervisor.py +14 -5
- openstackclient/compute/v2/hypervisor_stats.py +10 -2
- openstackclient/compute/v2/keypair.py +29 -14
- openstackclient/compute/v2/server.py +251 -171
- openstackclient/compute/v2/server_backup.py +10 -4
- openstackclient/compute/v2/server_event.py +21 -12
- openstackclient/compute/v2/server_group.py +21 -11
- openstackclient/compute/v2/server_image.py +19 -10
- openstackclient/compute/v2/server_migration.py +24 -10
- openstackclient/compute/v2/server_share.py +274 -0
- openstackclient/compute/v2/server_volume.py +10 -4
- openstackclient/compute/v2/service.py +14 -7
- openstackclient/compute/v2/usage.py +26 -21
- openstackclient/identity/client.py +8 -3
- openstackclient/identity/common.py +103 -41
- openstackclient/identity/v2_0/catalog.py +14 -7
- openstackclient/identity/v2_0/ec2creds.py +21 -10
- openstackclient/identity/v2_0/endpoint.py +23 -11
- openstackclient/identity/v2_0/project.py +25 -14
- openstackclient/identity/v2_0/role.py +28 -14
- openstackclient/identity/v2_0/role_assignment.py +9 -3
- openstackclient/identity/v2_0/service.py +26 -12
- openstackclient/identity/v2_0/token.py +12 -5
- openstackclient/identity/v2_0/user.py +26 -15
- openstackclient/identity/v3/access_rule.py +26 -12
- openstackclient/identity/v3/application_credential.py +59 -24
- openstackclient/identity/v3/catalog.py +14 -7
- openstackclient/identity/v3/consumer.py +22 -11
- openstackclient/identity/v3/credential.py +36 -16
- openstackclient/identity/v3/domain.py +37 -18
- openstackclient/identity/v3/ec2creds.py +25 -12
- openstackclient/identity/v3/endpoint.py +42 -20
- openstackclient/identity/v3/endpoint_group.py +28 -17
- openstackclient/identity/v3/federation_protocol.py +71 -50
- openstackclient/identity/v3/group.py +55 -32
- openstackclient/identity/v3/identity_provider.py +92 -57
- openstackclient/identity/v3/implied_role.py +21 -9
- openstackclient/identity/v3/limit.py +115 -92
- openstackclient/identity/v3/mapping.py +26 -13
- openstackclient/identity/v3/policy.py +23 -12
- openstackclient/identity/v3/project.py +211 -122
- openstackclient/identity/v3/region.py +36 -16
- openstackclient/identity/v3/registered_limit.py +116 -109
- openstackclient/identity/v3/role.py +61 -31
- openstackclient/identity/v3/role_assignment.py +23 -6
- openstackclient/identity/v3/service.py +36 -16
- openstackclient/identity/v3/service_provider.py +37 -15
- openstackclient/identity/v3/tag.py +23 -17
- openstackclient/identity/v3/token.py +30 -14
- openstackclient/identity/v3/trust.py +32 -14
- openstackclient/identity/v3/unscoped_saml.py +10 -2
- openstackclient/identity/v3/user.py +49 -26
- openstackclient/image/client.py +7 -3
- openstackclient/image/v1/image.py +33 -26
- openstackclient/image/v2/cache.py +14 -9
- openstackclient/image/v2/image.py +76 -49
- openstackclient/image/v2/info.py +7 -1
- openstackclient/image/v2/metadef_namespaces.py +109 -13
- openstackclient/image/v2/metadef_objects.py +28 -15
- openstackclient/image/v2/metadef_properties.py +24 -13
- openstackclient/image/v2/metadef_resource_type_association.py +14 -7
- openstackclient/image/v2/metadef_resource_types.py +7 -1
- openstackclient/image/v2/task.py +15 -6
- openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +7 -192
- openstackclient/network/client.py +7 -2
- openstackclient/network/common.py +16 -241
- openstackclient/network/utils.py +36 -22
- openstackclient/network/v2/address_group.py +27 -16
- openstackclient/network/v2/address_scope.py +24 -13
- openstackclient/network/v2/bgpvpn/bgpvpn.py +463 -0
- openstackclient/network/v2/bgpvpn/constants.py +30 -0
- openstackclient/network/v2/bgpvpn/network_association.py +214 -0
- openstackclient/network/v2/bgpvpn/port_association.py +490 -0
- openstackclient/network/v2/bgpvpn/router_association.py +288 -0
- openstackclient/network/v2/default_security_group_rule.py +19 -10
- openstackclient/network/v2/floating_ip.py +110 -159
- openstackclient/network/v2/floating_ip_port_forwarding.py +30 -18
- openstackclient/network/v2/fwaas/__init__.py +0 -0
- openstackclient/network/v2/fwaas/group.py +466 -0
- openstackclient/network/v2/fwaas/policy.py +518 -0
- openstackclient/network/v2/fwaas/rule.py +574 -0
- openstackclient/network/v2/ip_availability.py +13 -5
- openstackclient/network/v2/l3_conntrack_helper.py +22 -13
- openstackclient/network/v2/local_ip.py +24 -13
- openstackclient/network/v2/local_ip_association.py +14 -7
- openstackclient/network/v2/ndp_proxy.py +20 -11
- openstackclient/network/v2/network.py +129 -196
- openstackclient/network/v2/network_agent.py +46 -25
- openstackclient/network/v2/network_auto_allocated_topology.py +22 -11
- openstackclient/network/v2/network_flavor.py +27 -16
- openstackclient/network/v2/network_flavor_profile.py +23 -12
- openstackclient/network/v2/network_meter.py +21 -10
- openstackclient/network/v2/network_meter_rule.py +21 -11
- openstackclient/network/v2/network_qos_policy.py +25 -15
- openstackclient/network/v2/network_qos_rule.py +32 -17
- openstackclient/network/v2/network_qos_rule_type.py +13 -5
- openstackclient/network/v2/network_rbac.py +23 -12
- openstackclient/network/v2/network_segment.py +20 -11
- openstackclient/network/v2/network_segment_range.py +56 -29
- openstackclient/network/v2/network_service_provider.py +7 -1
- openstackclient/network/v2/network_trunk.py +38 -22
- openstackclient/network/v2/port.py +54 -29
- openstackclient/network/v2/router.py +75 -52
- openstackclient/network/v2/security_group.py +87 -157
- openstackclient/network/v2/security_group_rule.py +100 -280
- openstackclient/network/v2/subnet.py +49 -28
- openstackclient/network/v2/subnet_pool.py +30 -17
- openstackclient/network/v2/taas/tap_flow.py +22 -11
- openstackclient/network/v2/taas/tap_mirror.py +22 -11
- openstackclient/network/v2/taas/tap_service.py +23 -12
- openstackclient/object/client.py +7 -2
- openstackclient/object/v1/account.py +13 -6
- openstackclient/object/v1/container.py +25 -15
- openstackclient/object/v1/object.py +25 -15
- openstackclient/py.typed +0 -0
- openstackclient/shell.py +46 -10
- openstackclient/tests/functional/base.py +55 -20
- openstackclient/tests/functional/common/test_extension.py +4 -0
- openstackclient/tests/functional/common/test_quota.py +3 -1
- openstackclient/tests/functional/compute/v2/common.py +14 -13
- openstackclient/tests/functional/compute/v2/test_flavor.py +3 -1
- openstackclient/tests/functional/compute/v2/test_server.py +3 -0
- openstackclient/tests/functional/identity/v2/common.py +10 -6
- openstackclient/tests/functional/identity/v2/test_role.py +4 -4
- openstackclient/tests/functional/identity/v3/common.py +25 -19
- openstackclient/tests/functional/identity/v3/test_group.py +20 -20
- openstackclient/tests/functional/identity/v3/test_idp.py +3 -1
- openstackclient/tests/functional/identity/v3/test_limit.py +47 -0
- openstackclient/tests/functional/identity/v3/test_project.py +10 -10
- openstackclient/tests/functional/identity/v3/test_role.py +18 -18
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +12 -12
- openstackclient/tests/functional/identity/v3/test_user.py +8 -8
- openstackclient/tests/functional/image/base.py +1 -6
- openstackclient/tests/functional/image/v2/test_metadef_objects.py +69 -0
- openstackclient/tests/functional/network/v2/common.py +5 -2
- openstackclient/tests/functional/network/v2/test_floating_ip.py +10 -4
- openstackclient/tests/functional/network/v2/test_ip_availability.py +4 -0
- openstackclient/tests/functional/network/v2/test_network_meter_rule.py +3 -2
- openstackclient/tests/functional/network/v2/test_network_segment.py +5 -0
- openstackclient/tests/functional/network/v2/test_subnet.py +13 -9
- openstackclient/tests/functional/object/v1/common.py +4 -0
- openstackclient/tests/functional/volume/v2/common.py +4 -0
- openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +27 -11
- openstackclient/tests/functional/volume/v2/test_volume_type.py +2 -2
- openstackclient/tests/functional/volume/v3/common.py +4 -0
- openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +56 -138
- openstackclient/tests/functional/volume/v3/test_volume_type.py +2 -2
- openstackclient/tests/unit/common/test_availability_zone.py +35 -49
- openstackclient/tests/unit/common/test_extension.py +2 -2
- openstackclient/tests/unit/common/test_module.py +12 -7
- openstackclient/tests/unit/common/test_project_cleanup.py +3 -1
- openstackclient/tests/unit/common/test_quota.py +62 -23
- openstackclient/tests/unit/compute/v2/fakes.py +25 -0
- openstackclient/tests/unit/compute/v2/test_flavor.py +28 -2
- openstackclient/tests/unit/compute/v2/test_keypair.py +6 -6
- openstackclient/tests/unit/compute/v2/test_server.py +17 -104
- openstackclient/tests/unit/compute/v2/test_server_share.py +287 -0
- openstackclient/tests/unit/identity/v3/fakes.py +3 -0
- openstackclient/tests/unit/identity/v3/test_group.py +4 -14
- openstackclient/tests/unit/identity/v3/test_identity_provider.py +303 -299
- openstackclient/tests/unit/identity/v3/test_limit.py +197 -145
- openstackclient/tests/unit/identity/v3/test_project.py +831 -512
- openstackclient/tests/unit/identity/v3/test_protocol.py +97 -88
- openstackclient/tests/unit/identity/v3/test_registered_limit.py +355 -220
- openstackclient/tests/unit/identity/v3/test_user.py +4 -4
- openstackclient/tests/unit/image/v2/test_image.py +16 -16
- openstackclient/tests/unit/image/v2/test_metadef_namespaces.py +105 -6
- openstackclient/tests/unit/network/test_common.py +0 -155
- openstackclient/tests/unit/network/v2/bgpvpn/__init__.py +0 -0
- openstackclient/tests/unit/network/v2/bgpvpn/fakes.py +179 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_bgpvpn.py +584 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_network_association.py +285 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_port_association.py +384 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_router_association.py +297 -0
- openstackclient/tests/unit/network/v2/fwaas/__init__.py +0 -0
- openstackclient/tests/unit/network/v2/fwaas/test_group.py +897 -0
- openstackclient/tests/unit/network/v2/fwaas/test_policy.py +869 -0
- openstackclient/tests/unit/network/v2/fwaas/test_rule.py +980 -0
- openstackclient/tests/unit/network/v2/taas/{test_osc_tap_flow.py → test_tap_flow.py} +18 -25
- openstackclient/tests/unit/network/v2/taas/{test_osc_tap_mirror.py → test_tap_mirror.py} +19 -29
- openstackclient/tests/unit/network/v2/taas/{test_osc_tap_service.py → test_tap_service.py} +19 -29
- openstackclient/tests/unit/network/v2/test_address_group.py +2 -2
- openstackclient/tests/unit/network/v2/{test_floating_ip_network.py → test_floating_ip.py} +3 -2
- openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +13 -13
- openstackclient/tests/unit/network/v2/test_network_agent.py +8 -4
- openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +3 -3
- openstackclient/tests/unit/network/v2/test_network_flavor.py +2 -2
- openstackclient/tests/unit/network/v2/test_network_qos_policy.py +1 -1
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +2 -2
- openstackclient/tests/unit/network/v2/test_network_rbac.py +1 -1
- openstackclient/tests/unit/network/v2/test_network_segment.py +1 -1
- openstackclient/tests/unit/network/v2/test_network_segment_range.py +7 -10
- openstackclient/tests/unit/network/v2/test_network_trunk.py +1 -1
- openstackclient/tests/unit/network/v2/test_router.py +8 -9
- openstackclient/tests/unit/network/v2/{test_security_group_network.py → test_security_group.py} +1 -20
- openstackclient/tests/unit/network/v2/{test_security_group_rule_network.py → test_security_group_rule.py} +7 -41
- openstackclient/tests/unit/network/v2/test_subnet.py +2 -1
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +2 -1
- openstackclient/tests/unit/object/v1/fakes.py +8 -7
- openstackclient/tests/unit/object/v1/test_container.py +65 -101
- openstackclient/tests/unit/object/v1/test_container_all.py +8 -1
- openstackclient/tests/unit/object/v1/test_object.py +44 -84
- openstackclient/tests/unit/object/v1/test_object_all.py +8 -1
- openstackclient/tests/unit/test_hacking.py +108 -0
- openstackclient/tests/unit/volume/v2/fakes.py +1 -0
- openstackclient/tests/unit/volume/v2/test_consistency_group.py +8 -2
- openstackclient/tests/unit/volume/v2/test_volume.py +7 -6
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +1 -5
- openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +2 -1
- openstackclient/tests/unit/volume/v2/test_volume_type.py +2 -4
- openstackclient/tests/unit/volume/v3/fakes.py +1 -0
- openstackclient/tests/unit/volume/v3/test_volume.py +94 -15
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +1 -1
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +1 -5
- openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +55 -1
- openstackclient/tests/unit/volume/v3/test_volume_type.py +2 -4
- openstackclient/volume/client.py +7 -3
- openstackclient/volume/v2/backup_record.py +15 -6
- openstackclient/volume/v2/consistency_group.py +37 -25
- openstackclient/volume/v2/consistency_group_snapshot.py +27 -12
- openstackclient/volume/v2/qos_specs.py +30 -19
- openstackclient/volume/v2/service.py +17 -6
- openstackclient/volume/v2/volume.py +69 -34
- openstackclient/volume/v2/volume_backend.py +19 -6
- openstackclient/volume/v2/volume_backup.py +48 -22
- openstackclient/volume/v2/volume_host.py +6 -4
- openstackclient/volume/v2/volume_snapshot.py +52 -26
- openstackclient/volume/v2/volume_transfer_request.py +33 -15
- openstackclient/volume/v2/volume_type.py +46 -27
- openstackclient/volume/v3/block_storage_cleanup.py +11 -3
- openstackclient/volume/v3/block_storage_cluster.py +19 -7
- openstackclient/volume/v3/block_storage_log_level.py +15 -6
- openstackclient/volume/v3/block_storage_manage.py +10 -4
- openstackclient/volume/v3/block_storage_resource_filter.py +17 -5
- openstackclient/volume/v3/service.py +16 -6
- openstackclient/volume/v3/volume.py +103 -46
- openstackclient/volume/v3/volume_attachment.py +43 -21
- openstackclient/volume/v3/volume_backup.py +55 -26
- openstackclient/volume/v3/volume_group.py +23 -13
- openstackclient/volume/v3/volume_group_snapshot.py +32 -13
- openstackclient/volume/v3/volume_group_type.py +26 -13
- openstackclient/volume/v3/volume_message.py +15 -7
- openstackclient/volume/v3/volume_snapshot.py +71 -34
- openstackclient/volume/v3/volume_transfer_request.py +33 -15
- openstackclient/volume/v3/volume_type.py +45 -27
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/METADATA +6 -6
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/RECORD +279 -267
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/WHEEL +1 -1
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/entry_points.txt +53 -1
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/licenses/AUTHORS +9 -0
- python_openstackclient-10.0.0.dist-info/pbr.json +1 -0
- openstackclient/api/image_v1.py +0 -69
- openstackclient/api/image_v2.py +0 -79
- openstackclient/network/v2/floating_ip_pool.py +0 -38
- openstackclient/tests/functional/image/v1/test_image.py +0 -97
- openstackclient/tests/unit/api/test_image_v1.py +0 -96
- openstackclient/tests/unit/api/test_image_v2.py +0 -96
- openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +0 -248
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +0 -49
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +0 -39
- openstackclient/tests/unit/network/v2/test_network_compute.py +0 -404
- openstackclient/tests/unit/network/v2/test_security_group_compute.py +0 -392
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +0 -555
- python_openstackclient-8.3.0.dist-info/pbr.json +0 -1
- /openstackclient/{tests/functional/image/v1 → network/v2/bgpvpn}/__init__.py +0 -0
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/licenses/LICENSE +0 -0
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/top_level.txt +0 -0
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
|
|
14
14
|
"""L3 Conntrack Helper action implementations"""
|
|
15
15
|
|
|
16
|
+
import argparse
|
|
16
17
|
import logging
|
|
18
|
+
from collections.abc import Iterable, Sequence
|
|
19
|
+
from typing import Any
|
|
17
20
|
|
|
18
21
|
from osc_lib import exceptions
|
|
19
22
|
from osc_lib import utils
|
|
@@ -24,16 +27,16 @@ from openstackclient.i18n import _
|
|
|
24
27
|
LOG = logging.getLogger(__name__)
|
|
25
28
|
|
|
26
29
|
|
|
27
|
-
def _get_columns(item):
|
|
30
|
+
def _get_columns(item: Any) -> tuple[tuple[str, ...], tuple[str, ...]]:
|
|
28
31
|
hidden_columns = ['location', 'tenant_id']
|
|
29
32
|
return utils.get_osc_show_columns_for_sdk_resource(
|
|
30
33
|
item, {}, hidden_columns
|
|
31
34
|
)
|
|
32
35
|
|
|
33
36
|
|
|
34
|
-
def _get_attrs(client, parsed_args):
|
|
37
|
+
def _get_attrs(client: Any, parsed_args: argparse.Namespace) -> dict[str, Any]:
|
|
35
38
|
router = client.find_router(parsed_args.router, ignore_missing=False)
|
|
36
|
-
attrs = {'router_id': router.id}
|
|
39
|
+
attrs: dict[str, Any] = {'router_id': router.id}
|
|
37
40
|
if parsed_args.helper:
|
|
38
41
|
attrs['helper'] = parsed_args.helper
|
|
39
42
|
if parsed_args.protocol:
|
|
@@ -47,7 +50,7 @@ def _get_attrs(client, parsed_args):
|
|
|
47
50
|
class CreateConntrackHelper(command.ShowOne):
|
|
48
51
|
_description = _("Create a new L3 conntrack helper")
|
|
49
52
|
|
|
50
|
-
def get_parser(self, prog_name):
|
|
53
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
51
54
|
parser = super().get_parser(prog_name)
|
|
52
55
|
parser.add_argument(
|
|
53
56
|
'router',
|
|
@@ -78,7 +81,9 @@ class CreateConntrackHelper(command.ShowOne):
|
|
|
78
81
|
|
|
79
82
|
return parser
|
|
80
83
|
|
|
81
|
-
def take_action(
|
|
84
|
+
def take_action(
|
|
85
|
+
self, parsed_args: argparse.Namespace
|
|
86
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
82
87
|
client = self.app.client_manager.network
|
|
83
88
|
|
|
84
89
|
attrs = _get_attrs(client, parsed_args)
|
|
@@ -92,7 +97,7 @@ class CreateConntrackHelper(command.ShowOne):
|
|
|
92
97
|
class DeleteConntrackHelper(command.Command):
|
|
93
98
|
_description = _("Delete L3 conntrack helper")
|
|
94
99
|
|
|
95
|
-
def get_parser(self, prog_name):
|
|
100
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
96
101
|
parser = super().get_parser(prog_name)
|
|
97
102
|
parser.add_argument(
|
|
98
103
|
'router',
|
|
@@ -108,7 +113,7 @@ class DeleteConntrackHelper(command.Command):
|
|
|
108
113
|
|
|
109
114
|
return parser
|
|
110
115
|
|
|
111
|
-
def take_action(self, parsed_args):
|
|
116
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
112
117
|
client = self.app.client_manager.network
|
|
113
118
|
result = 0
|
|
114
119
|
|
|
@@ -140,7 +145,7 @@ class DeleteConntrackHelper(command.Command):
|
|
|
140
145
|
class ListConntrackHelper(command.Lister):
|
|
141
146
|
_description = _("List L3 conntrack helpers")
|
|
142
147
|
|
|
143
|
-
def get_parser(self, prog_name):
|
|
148
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
144
149
|
parser = super().get_parser(prog_name)
|
|
145
150
|
parser.add_argument(
|
|
146
151
|
'router',
|
|
@@ -174,7 +179,9 @@ class ListConntrackHelper(command.Lister):
|
|
|
174
179
|
|
|
175
180
|
return parser
|
|
176
181
|
|
|
177
|
-
def take_action(
|
|
182
|
+
def take_action(
|
|
183
|
+
self, parsed_args: argparse.Namespace
|
|
184
|
+
) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
|
|
178
185
|
client = self.app.client_manager.network
|
|
179
186
|
columns = (
|
|
180
187
|
'id',
|
|
@@ -209,7 +216,7 @@ class ListConntrackHelper(command.Lister):
|
|
|
209
216
|
class SetConntrackHelper(command.Command):
|
|
210
217
|
_description = _("Set L3 conntrack helper properties")
|
|
211
218
|
|
|
212
|
-
def get_parser(self, prog_name):
|
|
219
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
213
220
|
parser = super().get_parser(prog_name)
|
|
214
221
|
parser.add_argument(
|
|
215
222
|
'router',
|
|
@@ -241,7 +248,7 @@ class SetConntrackHelper(command.Command):
|
|
|
241
248
|
)
|
|
242
249
|
return parser
|
|
243
250
|
|
|
244
|
-
def take_action(self, parsed_args):
|
|
251
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
245
252
|
client = self.app.client_manager.network
|
|
246
253
|
attrs = _get_attrs(client, parsed_args)
|
|
247
254
|
if attrs:
|
|
@@ -255,7 +262,7 @@ class SetConntrackHelper(command.Command):
|
|
|
255
262
|
class ShowConntrackHelper(command.ShowOne):
|
|
256
263
|
_description = _("Display L3 conntrack helper details")
|
|
257
264
|
|
|
258
|
-
def get_parser(self, prog_name):
|
|
265
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
259
266
|
parser = super().get_parser(prog_name)
|
|
260
267
|
parser.add_argument(
|
|
261
268
|
'router',
|
|
@@ -270,7 +277,9 @@ class ShowConntrackHelper(command.ShowOne):
|
|
|
270
277
|
|
|
271
278
|
return parser
|
|
272
279
|
|
|
273
|
-
def take_action(
|
|
280
|
+
def take_action(
|
|
281
|
+
self, parsed_args: argparse.Namespace
|
|
282
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
274
283
|
client = self.app.client_manager.network
|
|
275
284
|
router = client.find_router(parsed_args.router, ignore_missing=False)
|
|
276
285
|
obj = client.get_conntrack_helper(
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
"""Node Local IP action implementations"""
|
|
17
17
|
|
|
18
|
+
import argparse
|
|
18
19
|
import logging
|
|
20
|
+
from collections.abc import Iterable, Sequence
|
|
21
|
+
from typing import Any
|
|
19
22
|
|
|
20
23
|
from osc_lib import exceptions
|
|
21
24
|
from osc_lib import utils
|
|
@@ -27,15 +30,17 @@ from openstackclient.identity import common as identity_common
|
|
|
27
30
|
LOG = logging.getLogger(__name__)
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
def _get_columns(item):
|
|
33
|
+
def _get_columns(item: Any) -> tuple[tuple[str, ...], tuple[str, ...]]:
|
|
31
34
|
hidden_columns = ['location', 'tenant_id']
|
|
32
35
|
return utils.get_osc_show_columns_for_sdk_resource(
|
|
33
36
|
item, {}, hidden_columns
|
|
34
37
|
)
|
|
35
38
|
|
|
36
39
|
|
|
37
|
-
def _get_attrs(
|
|
38
|
-
|
|
40
|
+
def _get_attrs(
|
|
41
|
+
client_manager: Any, parsed_args: argparse.Namespace
|
|
42
|
+
) -> dict[str, Any]:
|
|
43
|
+
attrs: dict[str, Any] = {}
|
|
39
44
|
network_client = client_manager.network
|
|
40
45
|
|
|
41
46
|
if parsed_args.name:
|
|
@@ -70,7 +75,7 @@ def _get_attrs(client_manager, parsed_args):
|
|
|
70
75
|
class CreateLocalIP(command.ShowOne):
|
|
71
76
|
_description = _("Create Local IP")
|
|
72
77
|
|
|
73
|
-
def get_parser(self, prog_name):
|
|
78
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
74
79
|
parser = super().get_parser(prog_name)
|
|
75
80
|
parser.add_argument(
|
|
76
81
|
'--name', metavar="<name>", help=_("New Local IP name")
|
|
@@ -105,7 +110,9 @@ class CreateLocalIP(command.ShowOne):
|
|
|
105
110
|
|
|
106
111
|
return parser
|
|
107
112
|
|
|
108
|
-
def take_action(
|
|
113
|
+
def take_action(
|
|
114
|
+
self, parsed_args: argparse.Namespace
|
|
115
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
109
116
|
client = self.app.client_manager.network
|
|
110
117
|
attrs = _get_attrs(self.app.client_manager, parsed_args)
|
|
111
118
|
|
|
@@ -119,7 +126,7 @@ class CreateLocalIP(command.ShowOne):
|
|
|
119
126
|
class DeleteLocalIP(command.Command):
|
|
120
127
|
_description = _("Delete Local IP(s)")
|
|
121
128
|
|
|
122
|
-
def get_parser(self, prog_name):
|
|
129
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
123
130
|
parser = super().get_parser(prog_name)
|
|
124
131
|
parser.add_argument(
|
|
125
132
|
'local_ip',
|
|
@@ -130,7 +137,7 @@ class DeleteLocalIP(command.Command):
|
|
|
130
137
|
|
|
131
138
|
return parser
|
|
132
139
|
|
|
133
|
-
def take_action(self, parsed_args):
|
|
140
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
134
141
|
client = self.app.client_manager.network
|
|
135
142
|
result = 0
|
|
136
143
|
|
|
@@ -160,7 +167,7 @@ class DeleteLocalIP(command.Command):
|
|
|
160
167
|
class SetLocalIP(command.Command):
|
|
161
168
|
_description = _("Set Local IP properties")
|
|
162
169
|
|
|
163
|
-
def get_parser(self, prog_name):
|
|
170
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
164
171
|
parser = super().get_parser(prog_name)
|
|
165
172
|
parser.add_argument(
|
|
166
173
|
'local_ip',
|
|
@@ -177,7 +184,7 @@ class SetLocalIP(command.Command):
|
|
|
177
184
|
)
|
|
178
185
|
return parser
|
|
179
186
|
|
|
180
|
-
def take_action(self, parsed_args):
|
|
187
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
181
188
|
client = self.app.client_manager.network
|
|
182
189
|
obj = client.find_local_ip(parsed_args.local_ip, ignore_missing=False)
|
|
183
190
|
attrs = {}
|
|
@@ -192,7 +199,7 @@ class SetLocalIP(command.Command):
|
|
|
192
199
|
class ListLocalIP(command.Lister):
|
|
193
200
|
_description = _("List Local IPs")
|
|
194
201
|
|
|
195
|
-
def get_parser(self, prog_name):
|
|
202
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
196
203
|
parser = super().get_parser(prog_name)
|
|
197
204
|
|
|
198
205
|
parser.add_argument(
|
|
@@ -236,7 +243,9 @@ class ListLocalIP(command.Lister):
|
|
|
236
243
|
|
|
237
244
|
return parser
|
|
238
245
|
|
|
239
|
-
def take_action(
|
|
246
|
+
def take_action(
|
|
247
|
+
self, parsed_args: argparse.Namespace
|
|
248
|
+
) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
|
|
240
249
|
client = self.app.client_manager.network
|
|
241
250
|
columns = (
|
|
242
251
|
'id',
|
|
@@ -301,7 +310,7 @@ class ListLocalIP(command.Lister):
|
|
|
301
310
|
class ShowLocalIP(command.ShowOne):
|
|
302
311
|
_description = _("Display Local IP details")
|
|
303
312
|
|
|
304
|
-
def get_parser(self, prog_name):
|
|
313
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
305
314
|
parser = super().get_parser(prog_name)
|
|
306
315
|
parser.add_argument(
|
|
307
316
|
'local_ip',
|
|
@@ -311,7 +320,9 @@ class ShowLocalIP(command.ShowOne):
|
|
|
311
320
|
|
|
312
321
|
return parser
|
|
313
322
|
|
|
314
|
-
def take_action(
|
|
323
|
+
def take_action(
|
|
324
|
+
self, parsed_args: argparse.Namespace
|
|
325
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
315
326
|
client = self.app.client_manager.network
|
|
316
327
|
obj = client.find_local_ip(parsed_args.local_ip, ignore_missing=False)
|
|
317
328
|
display_columns, columns = _get_columns(obj)
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
"""Node Local IP action implementations"""
|
|
17
17
|
|
|
18
|
+
import argparse
|
|
18
19
|
import logging
|
|
20
|
+
from collections.abc import Iterable, Sequence
|
|
21
|
+
from typing import Any
|
|
19
22
|
|
|
20
23
|
from osc_lib import exceptions
|
|
21
24
|
from osc_lib import utils
|
|
@@ -27,7 +30,7 @@ from openstackclient.identity import common as identity_common
|
|
|
27
30
|
LOG = logging.getLogger(__name__)
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
def _get_columns(item):
|
|
33
|
+
def _get_columns(item: Any) -> tuple[tuple[str, ...], tuple[str, ...]]:
|
|
31
34
|
hidden_columns = ['location', 'name', 'id', 'tenant_id']
|
|
32
35
|
return utils.get_osc_show_columns_for_sdk_resource(
|
|
33
36
|
item, {}, hidden_columns
|
|
@@ -37,7 +40,7 @@ def _get_columns(item):
|
|
|
37
40
|
class CreateLocalIPAssociation(command.ShowOne):
|
|
38
41
|
_description = _("Create Local IP Association")
|
|
39
42
|
|
|
40
|
-
def get_parser(self, prog_name):
|
|
43
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
41
44
|
parser = super().get_parser(prog_name)
|
|
42
45
|
parser.add_argument(
|
|
43
46
|
'local_ip',
|
|
@@ -61,7 +64,9 @@ class CreateLocalIPAssociation(command.ShowOne):
|
|
|
61
64
|
|
|
62
65
|
return parser
|
|
63
66
|
|
|
64
|
-
def take_action(
|
|
67
|
+
def take_action(
|
|
68
|
+
self, parsed_args: argparse.Namespace
|
|
69
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
65
70
|
client = self.app.client_manager.network
|
|
66
71
|
|
|
67
72
|
attrs = {}
|
|
@@ -83,7 +88,7 @@ class CreateLocalIPAssociation(command.ShowOne):
|
|
|
83
88
|
class DeleteLocalIPAssociation(command.Command):
|
|
84
89
|
_description = _("Delete Local IP association(s)")
|
|
85
90
|
|
|
86
|
-
def get_parser(self, prog_name):
|
|
91
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
87
92
|
parser = super().get_parser(prog_name)
|
|
88
93
|
parser.add_argument(
|
|
89
94
|
'local_ip',
|
|
@@ -100,7 +105,7 @@ class DeleteLocalIPAssociation(command.Command):
|
|
|
100
105
|
)
|
|
101
106
|
return parser
|
|
102
107
|
|
|
103
|
-
def take_action(self, parsed_args):
|
|
108
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
104
109
|
client = self.app.client_manager.network
|
|
105
110
|
local_ip = client.find_local_ip(
|
|
106
111
|
parsed_args.local_ip,
|
|
@@ -138,7 +143,7 @@ class DeleteLocalIPAssociation(command.Command):
|
|
|
138
143
|
class ListLocalIPAssociation(command.Lister):
|
|
139
144
|
_description = _("List Local IP Associations")
|
|
140
145
|
|
|
141
|
-
def get_parser(self, prog_name):
|
|
146
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
142
147
|
parser = super().get_parser(prog_name)
|
|
143
148
|
|
|
144
149
|
parser.add_argument(
|
|
@@ -170,7 +175,9 @@ class ListLocalIPAssociation(command.Lister):
|
|
|
170
175
|
|
|
171
176
|
return parser
|
|
172
177
|
|
|
173
|
-
def take_action(
|
|
178
|
+
def take_action(
|
|
179
|
+
self, parsed_args: argparse.Namespace
|
|
180
|
+
) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
|
|
174
181
|
client = self.app.client_manager.network
|
|
175
182
|
columns = (
|
|
176
183
|
'local_ip_id',
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
"""Router NDP proxy action implementations"""
|
|
17
17
|
|
|
18
|
+
import argparse
|
|
18
19
|
import logging
|
|
20
|
+
from collections.abc import Iterable, Sequence
|
|
21
|
+
from typing import Any
|
|
19
22
|
|
|
20
23
|
from osc_lib import exceptions
|
|
21
24
|
from osc_lib import utils
|
|
@@ -28,7 +31,7 @@ from openstackclient.identity import common as identity_common
|
|
|
28
31
|
LOG = logging.getLogger(__name__)
|
|
29
32
|
|
|
30
33
|
|
|
31
|
-
def _get_columns(item):
|
|
34
|
+
def _get_columns(item: Any) -> tuple[tuple[str, ...], tuple[str, ...]]:
|
|
32
35
|
hidden_columns = ['location']
|
|
33
36
|
return utils.get_osc_show_columns_for_sdk_resource(
|
|
34
37
|
item, {}, hidden_columns
|
|
@@ -38,7 +41,7 @@ def _get_columns(item):
|
|
|
38
41
|
class CreateNDPProxy(command.ShowOne):
|
|
39
42
|
_description = _("Create NDP proxy")
|
|
40
43
|
|
|
41
|
-
def get_parser(self, prog_name):
|
|
44
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
42
45
|
parser = super().get_parser(prog_name)
|
|
43
46
|
parser.add_argument(
|
|
44
47
|
'router', metavar='<router>', help=_("The name or ID of a router")
|
|
@@ -75,7 +78,9 @@ class CreateNDPProxy(command.ShowOne):
|
|
|
75
78
|
|
|
76
79
|
return parser
|
|
77
80
|
|
|
78
|
-
def take_action(
|
|
81
|
+
def take_action(
|
|
82
|
+
self, parsed_args: argparse.Namespace
|
|
83
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
79
84
|
attrs = {'name': parsed_args.name}
|
|
80
85
|
client = self.app.client_manager.network
|
|
81
86
|
router = client.find_router(
|
|
@@ -102,7 +107,7 @@ class CreateNDPProxy(command.ShowOne):
|
|
|
102
107
|
class DeleteNDPProxy(command.Command):
|
|
103
108
|
_description = _("Delete NDP proxy")
|
|
104
109
|
|
|
105
|
-
def get_parser(self, prog_name):
|
|
110
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
106
111
|
parser = super().get_parser(prog_name)
|
|
107
112
|
parser.add_argument(
|
|
108
113
|
'ndp_proxy',
|
|
@@ -112,7 +117,7 @@ class DeleteNDPProxy(command.Command):
|
|
|
112
117
|
)
|
|
113
118
|
return parser
|
|
114
119
|
|
|
115
|
-
def take_action(self, parsed_args):
|
|
120
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
116
121
|
client = self.app.client_manager.network
|
|
117
122
|
result = 0
|
|
118
123
|
|
|
@@ -137,7 +142,7 @@ class DeleteNDPProxy(command.Command):
|
|
|
137
142
|
class ListNDPProxy(command.Lister):
|
|
138
143
|
_description = _("List NDP proxies")
|
|
139
144
|
|
|
140
|
-
def get_parser(self, prog_name):
|
|
145
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
141
146
|
parser = super().get_parser(prog_name)
|
|
142
147
|
parser.add_argument(
|
|
143
148
|
'--router',
|
|
@@ -180,7 +185,9 @@ class ListNDPProxy(command.Lister):
|
|
|
180
185
|
|
|
181
186
|
return parser
|
|
182
187
|
|
|
183
|
-
def take_action(
|
|
188
|
+
def take_action(
|
|
189
|
+
self, parsed_args: argparse.Namespace
|
|
190
|
+
) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
|
|
184
191
|
client = self.app.client_manager.network
|
|
185
192
|
identity_client = self.app.client_manager.identity
|
|
186
193
|
|
|
@@ -239,7 +246,7 @@ class ListNDPProxy(command.Lister):
|
|
|
239
246
|
class SetNDPProxy(command.Command):
|
|
240
247
|
_description = _("Set NDP proxy properties")
|
|
241
248
|
|
|
242
|
-
def get_parser(self, prog_name):
|
|
249
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
243
250
|
parser = super().get_parser(prog_name)
|
|
244
251
|
parser.add_argument(
|
|
245
252
|
'ndp_proxy',
|
|
@@ -259,7 +266,7 @@ class SetNDPProxy(command.Command):
|
|
|
259
266
|
)
|
|
260
267
|
return parser
|
|
261
268
|
|
|
262
|
-
def take_action(self, parsed_args):
|
|
269
|
+
def take_action(self, parsed_args: argparse.Namespace) -> None:
|
|
263
270
|
client = self.app.client_manager.network
|
|
264
271
|
attrs = {}
|
|
265
272
|
if parsed_args.description is not None:
|
|
@@ -276,7 +283,7 @@ class SetNDPProxy(command.Command):
|
|
|
276
283
|
class ShowNDPProxy(command.ShowOne):
|
|
277
284
|
_description = _("Display NDP proxy details")
|
|
278
285
|
|
|
279
|
-
def get_parser(self, prog_name):
|
|
286
|
+
def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
|
|
280
287
|
parser = super().get_parser(prog_name)
|
|
281
288
|
parser.add_argument(
|
|
282
289
|
'ndp_proxy',
|
|
@@ -285,7 +292,9 @@ class ShowNDPProxy(command.ShowOne):
|
|
|
285
292
|
)
|
|
286
293
|
return parser
|
|
287
294
|
|
|
288
|
-
def take_action(
|
|
295
|
+
def take_action(
|
|
296
|
+
self, parsed_args: argparse.Namespace
|
|
297
|
+
) -> tuple[Sequence[str], Iterable[Any]]:
|
|
289
298
|
client = self.app.client_manager.network
|
|
290
299
|
obj = client.find_ndp_proxy(
|
|
291
300
|
parsed_args.ndp_proxy, ignore_missing=False
|