diff --git a/neutronclient/neutron/v2_0/credential.py b/neutronclient/neutron/v2_0/credential.py deleted file mode 100644 index 67d532a1f..000000000 --- a/neutronclient/neutron/v2_0/credential.py +++ /dev/null @@ -1,68 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -from neutronclient.i18n import _ -from neutronclient.neutron import v2_0 as neutronV20 - - -class ListCredential(neutronV20.ListCommand): - """List credentials that belong to a given tenant.""" - - resource = 'credential' - _formatters = {} - list_columns = ['credential_id', 'credential_name', 'user_name', - 'password', 'type'] - - -class ShowCredential(neutronV20.ShowCommand): - """Show information of a given credential.""" - - resource = 'credential' - allow_names = False - - -class CreateCredential(neutronV20.CreateCommand): - """Create a credential.""" - - resource = 'credential' - - def add_known_arguments(self, parser): - parser.add_argument( - 'credential_name', - help=_('Name/IP address for credential.')) - parser.add_argument( - 'credential_type', - help=_('Type of the credential.')) - parser.add_argument( - '--username', - help=_('Username for the credential.')) - parser.add_argument( - '--password', - help=_('Password for the credential.')) - - def args2body(self, parsed_args): - body = {'credential_name': parsed_args.credential_name} - if parsed_args.credential_type: - body['type'] = parsed_args.credential_type - if parsed_args.username: - body['user_name'] = parsed_args.username - if parsed_args.password: - body['password'] = parsed_args.password - return {'credential': body} - - -class DeleteCredential(neutronV20.DeleteCommand): - """Delete a given credential.""" - - resource = 'credential' - allow_names = False diff --git a/neutronclient/neutron/v2_0/networkprofile.py b/neutronclient/neutron/v2_0/networkprofile.py deleted file mode 100644 index 6e2a5c913..000000000 --- a/neutronclient/neutron/v2_0/networkprofile.py +++ /dev/null @@ -1,131 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -from __future__ import print_function - -from neutronclient.i18n import _ -from neutronclient.neutron import v2_0 as neutronV20 -from neutronclient.neutron.v2_0 import parse_args_to_dict - -RESOURCE = 'network_profile' -SEGMENT_TYPE_CHOICES = ['vlan', 'overlay', 'multi-segment', 'trunk'] - - -class ListNetworkProfile(neutronV20.ListCommand): - """List network profiles that belong to a given tenant.""" - - resource = RESOURCE - _formatters = {} - list_columns = ['id', 'name', 'segment_type', 'sub_type', 'segment_range', - 'physical_network', 'multicast_ip_index', - 'multicast_ip_range'] - - -class ShowNetworkProfile(neutronV20.ShowCommand): - """Show information of a given network profile.""" - - resource = RESOURCE - allow_names = True - - -class CreateNetworkProfile(neutronV20.CreateCommand): - """Create a network profile.""" - - resource = RESOURCE - - def add_known_arguments(self, parser): - parser.add_argument('name', - help=_('Name for network profile.')) - parser.add_argument('segment_type', - choices=SEGMENT_TYPE_CHOICES, - help='Segment type.') - # TODO(Abhishek): Check on sub-type choices depending on segment_type - parser.add_argument('--sub_type', - help=_('Sub-type for the segment. Available ' - 'sub-types for overlay segments: ' - 'native, enhanced; For trunk segments: ' - 'vlan, overlay.')) - parser.add_argument('--segment_range', - help=_('Range for the segment.')) - parser.add_argument('--physical_network', - help=_('Name for the physical network.')) - parser.add_argument('--multicast_ip_range', - help=_('Multicast IPv4 range.')) - parser.add_argument("--add-tenant", - action='append', dest='add_tenants', - help=_("Add tenant to the network profile. " - "You can repeat this option.")) - - def args2body(self, parsed_args): - body = {'name': parsed_args.name} - neutronV20.update_dict(parsed_args, body, - ['segment_type', 'sub_type', 'segment_range', - 'physical_network', 'multicast_ip_range', - 'add_tenants']) - return {'network_profile': body} - - -class DeleteNetworkProfile(neutronV20.DeleteCommand): - """Delete a given network profile.""" - - resource = RESOURCE - allow_names = True - - -class UpdateNetworkProfile(neutronV20.UpdateCommand): - """Update network profile's information.""" - - resource = RESOURCE - - def add_known_arguments(self, parser): - parser.add_argument("--remove-tenant", - action='append', dest='remove_tenants', - help=_("Remove tenant from the network profile. " - "You can repeat this option.")) - parser.add_argument("--add-tenant", - action='append', dest='add_tenants', - help=_("Add tenant to the network profile. " - "You can repeat this option.")) - - def args2body(self, parsed_args): - body = {} - neutronV20.update_dict(parsed_args, body, - ['remove_tenants', 'add_tenants']) - return {'network_profile': body} - - -# Aaron: This function is deprecated -class UpdateNetworkProfileV2(neutronV20.NeutronCommand): - - api = 'network' - resource = RESOURCE - - def get_parser(self, prog_name): - parser = super(UpdateNetworkProfileV2, self).get_parser(prog_name) - parser.add_argument("--remove-tenant", - help="Remove tenant from the network profile.") - return parser - - def run(self, parsed_args): - self.log.debug('run(%s)' % parsed_args) - neutron_client = self.get_client() - neutron_client.format = parsed_args.request_format - data = {self.resource: parse_args_to_dict(parsed_args)} - if parsed_args.remove_tenant: - data[self.resource]['remove_tenant'] = parsed_args.remove_tenant - neutron_client.update_network_profile(parsed_args.id, - {self.resource: data}) - print((_('Updated %(resource)s: %(id)s') % - {'id': parsed_args.id, 'resource': self.resource}), - file=self.app.stdout) - return diff --git a/neutronclient/neutron/v2_0/policyprofile.py b/neutronclient/neutron/v2_0/policyprofile.py deleted file mode 100644 index 7ff00db9e..000000000 --- a/neutronclient/neutron/v2_0/policyprofile.py +++ /dev/null @@ -1,72 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -from __future__ import print_function - -from neutronclient.i18n import _ -from neutronclient.neutron import v2_0 as neutronV20 -from neutronclient.neutron.v2_0 import parse_args_to_dict - -RESOURCE = 'policy_profile' - - -class ListPolicyProfile(neutronV20.ListCommand): - """List policy profiles that belong to a given tenant.""" - - resource = RESOURCE - _formatters = {} - list_columns = ['id', 'name'] - - -class ShowPolicyProfile(neutronV20.ShowCommand): - """Show information of a given policy profile.""" - - resource = RESOURCE - allow_names = True - - -class UpdatePolicyProfile(neutronV20.UpdateCommand): - """Update policy profile's information.""" - - resource = RESOURCE - - -class UpdatePolicyProfileV2(neutronV20.UpdateCommand): - """Update policy profile's information.""" - - api = 'network' - resource = RESOURCE - - def get_parser(self, prog_name): - parser = super(UpdatePolicyProfileV2, self).get_parser(prog_name) - parser.add_argument("--add-tenant", - help=_("Add tenant to the policy profile.")) - parser.add_argument("--remove-tenant", - help=_("Remove tenant from the policy profile.")) - return parser - - def run(self, parsed_args): - self.log.debug('run(%s)' % parsed_args) - neutron_client = self.get_client() - neutron_client.format = parsed_args.request_format - data = {self.resource: parse_args_to_dict(parsed_args)} - if parsed_args.add_tenant: - data[self.resource]['add_tenant'] = parsed_args.add_tenant - if parsed_args.remove_tenant: - data[self.resource]['remove_tenant'] = parsed_args.remove_tenant - neutron_client.update_policy_profile(parsed_args.id, - {self.resource: data}) - print((_('Updated %(resource)s: %(id)s') % - {'id': parsed_args.id, 'resource': self.resource}), - file=self.app.stdout) - return diff --git a/neutronclient/shell.py b/neutronclient/shell.py index f8874088c..09b7c4c9e 100644 --- a/neutronclient/shell.py +++ b/neutronclient/shell.py @@ -43,7 +43,6 @@ from neutronclient.i18n import _ from neutronclient.neutron.v2_0 import address_scope from neutronclient.neutron.v2_0 import agent from neutronclient.neutron.v2_0 import agentscheduler -from neutronclient.neutron.v2_0 import credential from neutronclient.neutron.v2_0 import extension from neutronclient.neutron.v2_0.flavor import flavor from neutronclient.neutron.v2_0.flavor import flavor_profile @@ -63,10 +62,8 @@ from neutronclient.neutron.v2_0.lb import vip as lb_vip from neutronclient.neutron.v2_0 import metering from neutronclient.neutron.v2_0 import netpartition from neutronclient.neutron.v2_0 import network -from neutronclient.neutron.v2_0 import networkprofile from neutronclient.neutron.v2_0.nsx import networkgateway from neutronclient.neutron.v2_0.nsx import qos_queue -from neutronclient.neutron.v2_0 import policyprofile from neutronclient.neutron.v2_0 import port from neutronclient.neutron.v2_0.qos import bandwidth_limit_rule from neutronclient.neutron.v2_0.qos import policy as qos_policy @@ -303,18 +300,6 @@ COMMAND_V2 = { 'firewall-create': firewall.CreateFirewall, 'firewall-update': firewall.UpdateFirewall, 'firewall-delete': firewall.DeleteFirewall, - 'cisco-credential-list': credential.ListCredential, - 'cisco-credential-show': credential.ShowCredential, - 'cisco-credential-create': credential.CreateCredential, - 'cisco-credential-delete': credential.DeleteCredential, - 'cisco-network-profile-list': networkprofile.ListNetworkProfile, - 'cisco-network-profile-show': networkprofile.ShowNetworkProfile, - 'cisco-network-profile-create': networkprofile.CreateNetworkProfile, - 'cisco-network-profile-delete': networkprofile.DeleteNetworkProfile, - 'cisco-network-profile-update': networkprofile.UpdateNetworkProfile, - 'cisco-policy-profile-list': policyprofile.ListPolicyProfile, - 'cisco-policy-profile-show': policyprofile.ShowPolicyProfile, - 'cisco-policy-profile-update': policyprofile.UpdatePolicyProfile, 'ipsec-site-connection-list': ( ipsec_site_connection.ListIPsecSiteConnection ), diff --git a/neutronclient/tests/unit/test_cli20_credential.py b/neutronclient/tests/unit/test_cli20_credential.py deleted file mode 100644 index 58c413da6..000000000 --- a/neutronclient/tests/unit/test_cli20_credential.py +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 2013 Cisco Systems Inc. -# All Rights Reserved -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -import sys - -from neutronclient.neutron.v2_0 import credential -from neutronclient.tests.unit import test_cli20 - - -class CLITestV20Credential(test_cli20.CLITestV20Base): - - non_admin_status_resources = ['credential'] - - def test_create_credential(self): - """Create credential: myid.""" - resource = 'credential' - cmd = credential.CreateCredential(test_cli20.MyApp(sys.stdout), None) - name = 'myname' - myid = 'myid' - type = 'mytype' - args = [name, type] - position_names = ['credential_name', 'type'] - position_values = [name, type] - self._test_create_resource(resource, cmd, name, myid, args, - position_names, position_values) - - def test_list_credentials_detail(self): - """List credentials: -D.""" - resources = 'credentials' - cmd = credential.ListCredential(test_cli20.MyApp(sys.stdout), None) - contents = [{'credential_name': 'myname', 'type': 'mytype'}] - self._test_list_resources(resources, cmd, True, - response_contents=contents) - - def test_list_credential_known_option_after_unknown(self): - """List credential: -- --tags a b --request-format xml.""" - resources = 'credentials' - cmd = credential.ListCredential(test_cli20.MyApp(sys.stdout), None) - contents = [{'credential_name': 'myname', 'type': 'mytype'}] - self._test_list_resources(resources, cmd, tags=['a', 'b'], - response_contents=contents) - - def test_list_credential_fields(self): - """List credential: --fields a --fields b -- --fields c d.""" - resources = 'credentials' - cmd = credential.ListCredential(test_cli20.MyApp(sys.stdout), None) - contents = [{'credential_name': 'myname', 'type': 'mytype'}] - self._test_list_resources(resources, cmd, - fields_1=['a', 'b'], fields_2=['c', 'd'], - response_contents=contents) - - def test_show_credential(self): - """Show credential: --fields id --fields name myid.""" - resource = 'credential' - cmd = credential.ShowCredential(test_cli20.MyApp(sys.stdout), None) - args = ['--fields', 'id', '--fields', 'name', self.test_id] - self._test_show_resource(resource, cmd, self.test_id, args, - ['id', 'name']) - - def test_delete_credential(self): - """Delete credential: myid.""" - resource = 'credential' - cmd = credential.DeleteCredential(test_cli20.MyApp(sys.stdout), None) - myid = 'myid' - args = [myid] - self._test_delete_resource(resource, cmd, myid, args) diff --git a/neutronclient/tests/unit/test_cli20_networkprofile.py b/neutronclient/tests/unit/test_cli20_networkprofile.py deleted file mode 100644 index 673aeca4c..000000000 --- a/neutronclient/tests/unit/test_cli20_networkprofile.py +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright 2013 Cisco Systems Inc. -# All Rights Reserved -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -import sys - -from neutronclient.neutron.v2_0 import networkprofile -from neutronclient.tests.unit import test_cli20 - - -class CLITestV20NetworkProfile(test_cli20.CLITestV20Base): - - non_admin_status_resources = ['network_profile'] - - def test_create_networkprofile(self): - """Create networkprofile: myid.""" - resource = 'network_profile' - cmd = networkprofile.CreateNetworkProfile(test_cli20. - MyApp(sys.stdout), None) - name = 'myname' - myid = 'myid' - segment_type = 'vlan' - args = [name, segment_type] - position_names = ['name', 'segment_type'] - position_values = [name, segment_type] - self._test_create_resource(resource, cmd, name, myid, args, - position_names, position_values) - - def test_list_networkprofile_detail(self): - """List networkprofile: -D.""" - resources = 'network_profiles' - cmd = networkprofile.ListNetworkProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'vlan'}] - self._test_list_resources(resources, cmd, True, - response_contents=contents) - - def test_list_networkprofile_known_option_after_unknown(self): - """List networkprofile: -- --tags a b --request-format xml.""" - resources = 'network_profiles' - cmd = networkprofile.ListNetworkProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'vlan'}] - self._test_list_resources(resources, cmd, tags=['a', 'b'], - response_contents=contents) - - def test_list_networkprofile_fields(self): - """List networkprofile: --fields a --fields b -- --fields c d.""" - resources = 'network_profiles' - cmd = networkprofile.ListNetworkProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'vlan'}] - self._test_list_resources(resources, cmd, - fields_1=['a', 'b'], fields_2=['c', 'd'], - response_contents=contents) - - def test_show_networkprofile(self): - """Show networkprofile: --fields id --fields name myid.""" - resource = 'network_profile' - cmd = networkprofile.ShowNetworkProfile(test_cli20.MyApp(sys.stdout), - None) - args = ['--fields', 'id', '--fields', 'name', self.test_id] - self._test_show_resource(resource, cmd, self.test_id, args, - ['id', 'name']) - - def test_delete_networkprofile(self): - """Delete networkprofile: myid.""" - resource = 'network_profile' - cmd = networkprofile.DeleteNetworkProfile(test_cli20. - MyApp(sys.stdout), None) - myid = 'myid' - args = [myid] - self._test_delete_resource(resource, cmd, myid, args) - - def test_create_networkprofile_trunk(self): - """Create networkprofile: myid.""" - resource = 'network_profile' - cmd = networkprofile.CreateNetworkProfile(test_cli20. - MyApp(sys.stdout), None) - name = 'myname' - myid = 'myid' - segment_type = 'trunk' - args = [name, segment_type, '--sub_type', 'vlan'] - position_names = ['name', 'segment_type', ] - position_values = [name, segment_type, ] - self._test_create_resource(resource, cmd, name, myid, args, - position_names, position_values, - sub_type='vlan') - - def test_list_networkprofile_trunk_detail(self): - """List networkprofile: -D.""" - resources = 'network_profiles' - cmd = networkprofile.ListNetworkProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'trunk', - '--sub_type': 'vlan'}] - self._test_list_resources(resources, cmd, True, - response_contents=contents) - - def test_create_networkprofile_multi_tenants(self): - """Create networkprofile with mulitple tenants: myid.""" - resource = 'network_profile' - cmd = networkprofile.CreateNetworkProfile(test_cli20. - MyApp(sys.stdout), None) - name = 'myname' - myid = 'myid' - segment_type = 'vlan' - args = [name, segment_type, '--add-tenant', 'demo', - '--add-tenant', 'admin'] - position_names = ['name', 'segment_type', 'add_tenants'] - position_values = [name, segment_type, ['demo', 'admin']] - self._test_create_resource(resource, cmd, name, myid, args, - position_names, position_values) - - def test_update_networkprofile_multi_tenants(self): - resource = 'network_profile' - cmd = networkprofile.UpdateNetworkProfile(test_cli20. - MyApp(sys.stdout), None) - args = ['myid', '--add-tenant', 'service', '--add-tenant', 'demo', - '--remove-tenant', 'demo'] - extrafields = {'add_tenants': ['service', 'demo'], - 'remove_tenants': ['demo']} - self._test_update_resource(resource, cmd, 'myid', args, extrafields) diff --git a/neutronclient/tests/unit/test_cli20_policyprofile.py b/neutronclient/tests/unit/test_cli20_policyprofile.py deleted file mode 100644 index 6a7fa6d51..000000000 --- a/neutronclient/tests/unit/test_cli20_policyprofile.py +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2013 Cisco Systems Inc. -# All Rights Reserved -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -import sys - -from neutronclient.neutron.v2_0 import policyprofile -from neutronclient.tests.unit import test_cli20 - - -class CLITestV20PolicyProfile(test_cli20.CLITestV20Base): - - non_admin_status_resources = ['policy_profile'] - - def test_list_policyprofile_detail(self): - """List policyprofile: -D.""" - resources = 'policy_profiles' - cmd = policyprofile.ListPolicyProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'vlan'}] - self._test_list_resources(resources, cmd, True, - response_contents=contents) - - def test_list_policyprofile_known_option_after_unknown(self): - """List policyprofile: -- --tags a b --request-format xml.""" - resources = 'policy_profiles' - cmd = policyprofile.ListPolicyProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'vlan'}] - self._test_list_resources(resources, cmd, tags=['a', 'b'], - response_contents=contents) - - def test_list_policyprofile_fields(self): - """List policyprofile: --fields a --fields b -- --fields c d.""" - resources = 'policy_profiles' - cmd = policyprofile.ListPolicyProfile(test_cli20.MyApp(sys.stdout), - None) - contents = [{'name': 'myname', 'segment_type': 'vlan'}] - self._test_list_resources(resources, cmd, - fields_1=['a', 'b'], fields_2=['c', 'd'], - response_contents=contents) - - def test_show_policyprofile(self): - """Show policyprofile: --fields id --fields name myid.""" - resource = 'policy_profile' - cmd = policyprofile.ShowPolicyProfile(test_cli20.MyApp(sys.stdout), - None) - args = ['--fields', 'id', '--fields', 'name', self.test_id] - self._test_show_resource(resource, cmd, self.test_id, args, - ['id', 'name']) - - def test_update_policyprofile(self): - """Update policyprofile: myid --name myname --tags a b.""" - resource = 'policy_profile' - cmd = policyprofile.UpdatePolicyProfile(test_cli20.MyApp(sys.stdout), - None) - self._test_update_resource(resource, cmd, 'myid', - ['myid', '--name', 'myname', - '--tags', 'a', 'b'], - {'name': 'myname', 'tags': ['a', 'b'], } - ) diff --git a/neutronclient/v2_0/client.py b/neutronclient/v2_0/client.py index 9ff91e5b9..da8a9a48d 100644 --- a/neutronclient/v2_0/client.py +++ b/neutronclient/v2_0/client.py @@ -398,14 +398,6 @@ class Client(ClientBase): gateway_devices_path = "/gateway-devices" gateway_device_path = "/gateway-devices/%s" service_providers_path = "/service-providers" - credentials_path = "/credentials" - credential_path = "/credentials/%s" - network_profiles_path = "/network_profiles" - network_profile_path = "/network_profiles/%s" - network_profile_bindings_path = "/network_profile_bindings" - policy_profiles_path = "/policy_profiles" - policy_profile_path = "/policy_profiles/%s" - policy_profile_bindings_path = "/policy_profile_bindings" metering_labels_path = "/metering/metering-labels" metering_label_path = "/metering/metering-labels/%s" metering_label_rules_path = "/metering/metering-label-rules" @@ -1511,79 +1503,6 @@ class Client(ClientBase): return self.list('service_providers', self.service_providers_path, retrieve_all, **_params) - def list_credentials(self, **_params): - """Fetch a list of all credentials for a tenant.""" - return self.get(self.credentials_path, params=_params) - - @APIParamsCall - def show_credential(self, credential, **_params): - """Fetch a credential.""" - return self.get(self.credential_path % (credential), params=_params) - - @APIParamsCall - def create_credential(self, body=None): - """Create a new credential.""" - return self.post(self.credentials_path, body=body) - - @APIParamsCall - def update_credential(self, credential, body=None): - """Update a credential.""" - return self.put(self.credential_path % (credential), body=body) - - @APIParamsCall - def delete_credential(self, credential): - """Delete the specified credential.""" - return self.delete(self.credential_path % (credential)) - - def list_network_profile_bindings(self, **params): - """Fetch a list of all tenants associated for a network profile.""" - return self.get(self.network_profile_bindings_path, params=params) - - @APIParamsCall - def list_network_profiles(self, **params): - """Fetch a list of all network profiles for a tenant.""" - return self.get(self.network_profiles_path, params=params) - - @APIParamsCall - def show_network_profile(self, profile, **params): - """Fetch a network profile.""" - return self.get(self.network_profile_path % (profile), params=params) - - @APIParamsCall - def create_network_profile(self, body=None): - """Create a network profile.""" - return self.post(self.network_profiles_path, body=body) - - @APIParamsCall - def update_network_profile(self, profile, body=None): - """Update a network profile.""" - return self.put(self.network_profile_path % (profile), body=body) - - @APIParamsCall - def delete_network_profile(self, profile): - """Delete the network profile.""" - return self.delete(self.network_profile_path % profile) - - @APIParamsCall - def list_policy_profile_bindings(self, **params): - """Fetch a list of all tenants associated for a policy profile.""" - return self.get(self.policy_profile_bindings_path, params=params) - - @APIParamsCall - def list_policy_profiles(self, **params): - """Fetch a list of all network profiles for a tenant.""" - return self.get(self.policy_profiles_path, params=params) - - @APIParamsCall - def show_policy_profile(self, profile, **params): - """Fetch a network profile.""" - return self.get(self.policy_profile_path % (profile), params=params) - - @APIParamsCall - def update_policy_profile(self, profile, body=None): - """Update a policy profile.""" - return self.put(self.policy_profile_path % (profile), body=body) - @APIParamsCall def create_metering_label(self, body=None): """Creates a metering label."""