From b30f0f3f0595087d1c947b614e94d4b649ac4b0f Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Mon, 7 Aug 2017 16:50:03 -0500 Subject: Convert network segment functional tests to JSON Change-Id: I8dc1e992d54c63c93bbe2bdd7acba61a7a6773d0 --- .../functional/network/v2/test_network_segment.py | 144 ++++++++++++++------- 1 file changed, 99 insertions(+), 45 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/functional/network/v2/test_network_segment.py b/openstackclient/tests/functional/network/v2/test_network_segment.py index e1dbc7a0..8940273f 100644 --- a/openstackclient/tests/functional/network/v2/test_network_segment.py +++ b/openstackclient/tests/functional/network/v2/test_network_segment.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -18,64 +19,117 @@ from openstackclient.tests.functional.network.v2 import common class NetworkSegmentTests(common.NetworkTests): """Functional tests for network segment""" + @classmethod + def setUpClass(cls): + common.NetworkTests.setUpClass() + if cls.haz_network: + cls.NETWORK_NAME = uuid.uuid4().hex + cls.PHYSICAL_NETWORK_NAME = uuid.uuid4().hex + + # Create a network for the all subnet tests + cmd_output = json.loads(cls.openstack( + 'network create -f json ' + + cls.NETWORK_NAME + )) + # Get network_id for assertEqual + cls.NETWORK_ID = cmd_output["id"] + + @classmethod + def tearDownClass(cls): + try: + if cls.haz_network: + raw_output = cls.openstack( + 'network delete ' + + cls.NETWORK_NAME + ) + cls.assertOutput('', raw_output) + finally: + super(NetworkSegmentTests, cls).tearDownClass() + def setUp(self): super(NetworkSegmentTests, self).setUp() # Nothing in this class works with Nova Network if not self.haz_network: self.skipTest("No Network service present") - self.NETWORK_NAME = uuid.uuid4().hex - self.PHYSICAL_NETWORK_NAME = uuid.uuid4().hex - - # Create a network for the segment - opts = self.get_opts(['id']) - raw_output = self.openstack( - 'network create ' + self.NETWORK_NAME + opts - ) - self.addCleanup(self.openstack, - 'network delete ' + self.NETWORK_NAME) - self.NETWORK_ID = raw_output.strip('\n') - - # Get the segment for the network. - opts = self.get_opts(['ID', 'Network']) - raw_output = self.openstack( - 'network segment list ' - '--network ' + self.NETWORK_NAME + ' ' + - opts + def test_network_segment_create_delete(self): + name = uuid.uuid4().hex + json_output = json.loads(self.openstack( + ' network segment create -f json ' + + '--network ' + self.NETWORK_ID + ' ' + + '--network-type geneve ' + + '--segment 2055 ' + + name + )) + self.assertEqual( + name, + json_output["name"], ) - raw_output_row = raw_output.split('\n')[0] - self.NETWORK_SEGMENT_ID = raw_output_row.split(' ')[0] - def test_network_segment_create_delete(self): - opts = self.get_opts(['id']) raw_output = self.openstack( - ' network segment create --network ' + self.NETWORK_ID + - ' --network-type geneve ' + - ' --segment 2055 test_segment ' + opts + 'network segment delete ' + name, ) - network_segment_id = raw_output.strip('\n') - raw_output = self.openstack('network segment delete ' + - network_segment_id) self.assertOutput('', raw_output) def test_network_segment_list(self): - opts = self.get_opts(['ID']) - raw_output = self.openstack('network segment list' + opts) - self.assertIn(self.NETWORK_SEGMENT_ID, raw_output) + name = uuid.uuid4().hex + json_output = json.loads(self.openstack( + ' network segment create -f json ' + + '--network ' + self.NETWORK_ID + ' ' + + '--network-type geneve ' + + '--segment 2055 ' + + name + )) + network_segment_id = json_output.get('id') + network_segment_name = json_output.get('name') + self.addCleanup( + self.openstack, + 'network segment delete ' + network_segment_id + ) + self.assertEqual( + name, + json_output["name"], + ) + + json_output = json.loads(self.openstack( + 'network segment list -f json' + )) + item_map = { + item.get('ID'): item.get('Name') for item in json_output + } + self.assertIn(network_segment_id, item_map.keys()) + self.assertIn(network_segment_name, item_map.values()) + + def test_network_segment_set_show(self): + name = uuid.uuid4().hex + json_output = json.loads(self.openstack( + ' network segment create -f json ' + + '--network ' + self.NETWORK_ID + ' ' + + '--network-type geneve ' + + '--segment 2055 ' + + name + )) + self.addCleanup( + self.openstack, + 'network segment delete ' + name + ) + self.assertIsNone( + json_output["description"], + ) - def test_network_segment_set(self): new_description = 'new_description' - raw_output = self.openstack('network segment set ' + - '--description ' + new_description + - ' ' + self.NETWORK_SEGMENT_ID) - self.assertOutput('', raw_output) - opts = self.get_opts(['description']) - raw_output = self.openstack('network segment show ' + - self.NETWORK_SEGMENT_ID + opts) - self.assertEqual(new_description + "\n", raw_output) + cmd_output = self.openstack( + 'network segment set ' + + '--description ' + new_description + ' ' + + name + ) + self.assertOutput('', cmd_output) - def test_network_segment_show(self): - opts = self.get_opts(['network_id']) - raw_output = self.openstack('network segment show ' + - self.NETWORK_SEGMENT_ID + opts) - self.assertEqual(self.NETWORK_ID + "\n", raw_output) + json_output = json.loads(self.openstack( + 'network segment show -f json ' + + name + )) + self.assertEqual( + new_description, + json_output["description"], + ) -- cgit v1.2.1 From 53bea90a75774cb7468884da43b55381b491dc46 Mon Sep 17 00:00:00 2001 From: OpenStack Proposal Bot Date: Wed, 16 Aug 2017 07:50:55 +0000 Subject: Imported Translations from Zanata For more information about this automatic import see: http://docs.openstack.org/developer/i18n/reviewing-translation-import.html Change-Id: I33c68188f316b533cc702e0b3ef97c854681bca1 --- .../locale/de/LC_MESSAGES/openstackclient.po | 541 -- .../locale/tr_TR/LC_MESSAGES/openstackclient.po | 6805 ++++++++++++++++++++ .../locale/zh_TW/LC_MESSAGES/openstackclient.po | 423 -- 3 files changed, 6805 insertions(+), 964 deletions(-) delete mode 100644 openstackclient/locale/de/LC_MESSAGES/openstackclient.po create mode 100644 openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po delete mode 100644 openstackclient/locale/zh_TW/LC_MESSAGES/openstackclient.po (limited to 'openstackclient') diff --git a/openstackclient/locale/de/LC_MESSAGES/openstackclient.po b/openstackclient/locale/de/LC_MESSAGES/openstackclient.po deleted file mode 100644 index 06f1c8d6..00000000 --- a/openstackclient/locale/de/LC_MESSAGES/openstackclient.po +++ /dev/null @@ -1,541 +0,0 @@ -# Translations template for python-openstackclient. -# Copyright (C) 2015 ORGANIZATION -# This file is distributed under the same license as the -# python-openstackclient project. -# -# Translators: -# Ettore Atalan , 2014-2015 -# Andreas Jaeger , 2016. #zanata -msgid "" -msgstr "" -"Project-Id-Version: python-openstackclient 2.5.1.dev51\n" -"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-06-03 19:37+0000\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-06-02 01:43+0000\n" -"Last-Translator: Andreas Jaeger \n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Generated-By: Babel 2.0\n" -"X-Generator: Zanata 3.7.3\n" -"Language-Team: German\n" - -msgid "Add a property to (repeat option to set multiple properties)" -msgstr "" -"Fügen Sie eine Eigenschaft zu hinzu (wiederholen Sie die Option, um " -"mehrere Eigenschaften festzulegen)" - -msgid "Allow disk over-commit on the destination host" -msgstr "Festplattenüberladung auf dem Zielhost erlauben" - -msgid "Availability zone name" -msgstr "Name der Verfügbarkeitszone" - -msgid "Complete\n" -msgstr "Fertig\n" - -msgid "Confirm server resize is complete" -msgstr "Bestätigen Sie, ob die Größenänderung des Servers abgeschlossen ist" - -msgid "" -"Create a NIC on the server. Specify option multiple times to create multiple " -"NICs. Either net-id or port-id must be provided, but not both. net-id: " -"attach NIC to network with this UUID, port-id: attach NIC to port with this " -"UUID, v4-fixed-ip: IPv4 fixed address for NIC (optional), v6-fixed-ip: IPv6 " -"fixed address for NIC (optional)." -msgstr "" -"Erstellen Sie ein NIC auf dem Server. Geben Sie die Option mehrfach an, um " -"mehrere NICs zu erstellen. Entweder net-id oder port-id müssen " -"bereitgestellt werden, aber nicht beide. net-id: NIC an Netzwerk mit dieser " -"UUID binden, port-id: NIC an Port mit dieser UUID binden, v4-fixed-ip: Feste " -"IPv4-Adresse für NIC (optional), v6-fixed-ip: Feste IPv6-Adresse für NIC " -"(optional)." - -msgid "" -"Create credentials for user (name or ID; default: current authenticated user)" -msgstr "" -"Anmeldedaten für Benutzer erstellen (Name oder Kennung; Standard: aktuell " -"authentifizierter Benutzer)" - -msgid "" -"Create credentials in project (name or ID; default: current authenticated " -"project)" -msgstr "" -"Anmeldedaten in Projekt erstellen (Name oder Kennung; Standard: aktuell " -"authentifiziertes Projekt)" - -msgid "Credentials access key" -msgstr "Anmeldedaten-Zugriffsschlüssel" - -msgid "Default project (name or ID)" -msgstr "Standardprojekt (Name oder Kennung)" - -msgid "Delete credentials for user (name or ID)" -msgstr "Anmeldedaten für Benutzer löschen (name or ID)" - -msgid "Destination port (ssh -p option)" -msgstr "Zielport (ssh -p Option)" - -msgid "Disable a service" -msgstr "Dienst deaktivieren" - -msgid "Disable project" -msgstr "Projekt deaktivieren" - -msgid "Disable user" -msgstr "Benutzer deaktivieren" - -msgid "Display server diagnostics information" -msgstr "Serverdiagnoseinformationen anzeigen" - -msgid "Do not over-commit disk on the destination host (default)" -msgstr "Festplatte auf dem Zielhost nicht überladen (Standard)" - -msgid "Enable project" -msgstr "Projekt aktivieren" - -msgid "Enable project (default)" -msgstr "Projekt aktivieren (Standardeinstellung)" - -msgid "Enable user (default)" -msgstr "Benutzer aktivieren (Standardeinstellung)" - -msgid "Endpoint ID to delete" -msgstr "Zu löschende Endpunktkennung" - -msgid "Error creating server\n" -msgstr "Fehler beim Erstellen des Servers\n" - -msgid "Error creating server snapshot\n" -msgstr "Fehler beim Erstellen der Server-Schattenkopie\n" - -#, python-format -msgid "Error creating server: %s" -msgstr "Fehler beim Erstellen des Servers: %s" - -msgid "Error deleting server\n" -msgstr "Fehler beim Löschen des Servers\n" - -#, python-format -msgid "Error deleting server: %s" -msgstr "Fehler beim Löschen des Servers: %s" - -msgid "Error retrieving diagnostics data" -msgstr "Fehler beim Abrufen der Diagnosedaten" - -msgid "Filter by parent region ID" -msgstr "Nach übergeordneter Regionskennung filtern" - -msgid "Filter list by user (name or ID)" -msgstr "Liste nach Benutzer filtern (Name oder Kennung)" - -msgid "Filter users by (name or ID)" -msgstr "Benutzer nach filtern (Name oder Kennung)" - -msgid "Filter users by project (name or ID)" -msgstr "Benutzer nach Projekt filtern (Name oder Kennung)" - -msgid "Floating IP address" -msgstr "Bewegliche IP-Adresse" - -msgid "Hints for the scheduler (optional extension)" -msgstr "Hinweise für den Planer (optionale Erweiterung)" - -msgid "Include (name or ID)" -msgstr " miteinbeziehen (Name oder Kennung)" - -msgid "Include (name or ID)" -msgstr " miteinbeziehen (Name oder Kennung)" - -msgid "Include all projects (admin only)" -msgstr "Alle Projekte miteinbeziehen (nur Administrator)" - -msgid "Keypair to inject into this server (optional extension)" -msgstr "In diesem Server einzufügendes Schlüsselpaar (optionale Erweiterung)" - -msgid "List additional fields in output" -msgstr "Zusätzliche Felder in der Ausgabe auflisten" - -msgid "Login name (ssh -l option)" -msgstr "Anmeldename (ssh -l Option)" - -msgid "MD5 hash" -msgstr "MD5-Hashwert" - -msgid "" -"Map block devices; map is ::: " -"(optional extension)" -msgstr "" -"Blockorientierte Geräte abbilden; Abbildung ist :::" -" (optionale Erweiterung)" - -msgid "Maximum number of servers to launch (default=1)" -msgstr "Maximale Anzahl der zu startenden Server (Standard=1)" - -msgid "Minimum number of servers to launch (default=1)" -msgstr "Minimale Anzahl der zu startenden Server (Standard=1)" - -msgid "Name of new image (default is server name)" -msgstr "Name des neuen Abbilds (Servername ist Standard)" - -msgid "Name or ID of security group to remove from server" -msgstr "Name oder Kennung der vom Server zu entfernenden Sicherheitsgruppe" - -msgid "Name or ID of server to use" -msgstr "Name oder Kennung des zu verwendenden Servers" - -msgid "New endpoint admin URL" -msgstr "Administrator-URL des neuen Endpunktes" - -msgid "New endpoint internal URL" -msgstr "Interne URL des neuen Endpunktes" - -msgid "New endpoint public URL (required)" -msgstr "Öffentliche URL des neuen Endpunktes (erforderlich)" - -msgid "New endpoint region ID" -msgstr "Neue Endpunkt-Regionskennung" - -msgid "New endpoint service (name or ID)" -msgstr "Neuer Endpunktdienst (Name oder Kennung)" - -msgid "New parent region ID" -msgstr "Neue übergeordnete Regionskennung" - -msgid "New password: " -msgstr "Neues Passwort:" - -msgid "New project name" -msgstr "Name des neuen Projekts" - -msgid "New region ID" -msgstr "Neue Regionskennung" - -msgid "New region description" -msgstr "Beschreibung des neuen Bereichs" - -msgid "New role name" -msgstr "Name der neuen Rolle" - -msgid "New server name" -msgstr "Neuer Servername" - -msgid "New service description" -msgstr "Beschreibung des neuen Dienstes" - -msgid "New service name" -msgstr "Name des neuen Dienstes" - -msgid "New service type (compute, image, identity, volume, etc)" -msgstr "Neuer Diensttyp (Berechnen, Abbild, Identität, Datenträger, usw.)" - -msgid "New user name" -msgstr "Neuer Benutzername" - -#, python-format -msgid "No service catalog with a type, name or ID of '%s' exists." -msgstr "Kein Dienstkatalog mit Typ, Namen oder Kennung von '%s' ist vorhanden." - -msgid "Only return instances that match the reservation" -msgstr "Nur Instanzen zurückgeben, die der Einschränkung entsprechen" - -msgid "Options in ssh_config(5) format (ssh -o option)" -msgstr "Optionen im ssh_config(5)-Format (ssh -o Option)" - -msgid "Parent region ID" -msgstr "Übergeordnete Regionskennung" - -msgid "Passwords do not match, password unchanged" -msgstr "Passwörter stimmen nicht überein, Passwort unverändert" - -msgid "Perform a block live migration" -msgstr "Blockorientierte Live-Migration ausführen" - -msgid "Perform a hard reboot" -msgstr "Harten Neustart ausführen" - -msgid "Perform a shared live migration (default)" -msgstr "Gemeinsame Live-Migration ausführen (Standard)" - -msgid "Perform a soft reboot" -msgstr "Weichen Neustart ausführen" - -msgid "Private key file (ssh -i option)" -msgstr "Private Schlüsseldatei (ssh -i Option)" - -msgid "Project description" -msgstr "Projektbeschreibung" - -msgid "Project must be specified" -msgstr "Projekt muss angegeben werden" - -msgid "Project to display (name or ID)" -msgstr "Anzuzeigendes Projekt (Name oder Kennung)" - -msgid "Project to modify (name or ID)" -msgstr "Zu änderndes Projekt (Name oder Kennung)" - -msgid "Project(s) to delete (name or ID)" -msgstr "Zu löschende(s) Projekt(e) (Name oder Kennung)" - -msgid "Prompt interactively for password" -msgstr "Interaktiv nach dem Passwort abfragen" - -msgid "" -"Property to add/change for this server (repeat option to set multiple " -"properties)" -msgstr "" -"Zu hinzufügende/ändernde Eigenschaft für diesen Server (wiederholen Sie die " -"Option, um mehrere Eigenschaften festzulegen)" - -msgid "Region ID to delete" -msgstr "Zu löschende Regionskennung" - -msgid "Region to display" -msgstr "Anzuzeigende Region" - -msgid "Region to modify" -msgstr "Zu ändernde Region" - -msgid "Regular expression to match IP addresses" -msgstr "Regulärer Ausdruck zum Abgleichen mit IP-Adressen" - -msgid "Regular expression to match IPv6 addresses" -msgstr "Regulärer Ausdruck zum Abgleichen mit IPv6-Adressen" - -msgid "Regular expression to match instance name (admin only)" -msgstr "" -"Regulärer Ausdruck zum Abgleichen des Instanznamens (nur Administrator) " - -msgid "Regular expression to match names" -msgstr "Regulärer Ausdruck zum Abgleichen mit Namen" - -msgid "Resize server to specified flavor" -msgstr "Servergröße auf angegebene Variante ändern" - -msgid "Restore server state before resize" -msgstr "Serverstatus vor der Größenänderung wiederherstellen" - -msgid "Return existing domain" -msgstr "Vorhandene Domäne zurückgeben" - -msgid "Return existing group" -msgstr "Vorhandene Gruppe zurückgeben" - -msgid "Return existing project" -msgstr "Vorhandenes Projekt zurückgeben" - -msgid "Return existing role" -msgstr "Vorhandene Rolle zurückgeben" - -msgid "Return existing user" -msgstr "Vorhandenen Benutzer zurückgeben" - -msgid "Retype new password: " -msgstr "Neues Passwort erneut eingeben:" - -msgid "Role to add to : (name or ID)" -msgstr "Zu : hinzuzufügende Rolle (Name oder Kennung)" - -msgid "Role to display (name or ID)" -msgstr "Anzuzeigende Rolle (Name oder Kennung)" - -msgid "Role to remove (name or ID)" -msgstr "Zu entfernende Rolle (Name oder Kennung)" - -msgid "Role(s) to delete (name or ID)" -msgstr "Zu löschende Rolle(n) (Name oder Kennung)" - -msgid "Search by hostname" -msgstr "Nach Hostname suchen" - -msgid "Search by server status" -msgstr "Nach Serverstatus suchen" - -msgid "Search by user (admin only) (name or ID)" -msgstr "Nach Benutzer suchen (nur Administrator) (Name oder Kennung)" - -msgid "Security group to add (name or ID)" -msgstr "Zu hinzufügende Sicherheitsgruppe (Name oder Kennung)" - -msgid "Select an availability zone for the server" -msgstr "Wählen Sie eine Verfügbarkeitszone für den Server aus" - -msgid "Server (name or ID)" -msgstr "Server (Name oder Kennung)" - -msgid "Server internal device name for volume" -msgstr "Serverinterner Gerätename für Datenträger" - -msgid "Server(s) to delete (name or ID)" -msgstr "Zu löschende(r) Server (Name oder Kennung)" - -msgid "Service to delete (name or ID)" -msgstr "Zu löschender Dienst (Name oder Kennung)" - -msgid "Service to display (type or name)" -msgstr "Anzuzeigender Dienst (Typ oder Name)" - -msgid "Service to display (type, name or ID)" -msgstr "Anzuzeigender Dienst (Typ, Name oder Kennung)" - -msgid "Set a project property (repeat option to set multiple properties)" -msgstr "" -"Legen Sie eine Projekteigenschaft fest (wiederholen Sie die Option, um " -"mehrere Eigenschaften festzulegen)" - -msgid "" -"Set a scope, such as a project or domain, set a project scope with --os-" -"project-name, OS_PROJECT_NAME or auth.project_name, set a domain scope with " -"--os-domain-name, OS_DOMAIN_NAME or auth.domain_name" -msgstr "" -"Setzen Sie eine Eigenschaft, wie Projekt oder Domäne, setzen Sie eine " -"Projekteigenschaft mit --os-project-name, OS_PROJECT_NAME oder auth." -"project_name, setzen Sie eine Dömaneneigenschaft mit --os-domain-name, " -"OS_DOMAIN_NAME oder auth.domain_name." - -msgid "" -"Set a service AUTH_URL, with --os-auth-url, OS_AUTH_URL or auth.auth_url" -msgstr "" -"Legen Sie eine Dienst-AUTH_URL mit --os-auth-url, OS_AUTH_URL oder auth." -"auth_url fest" - -msgid "Set a service URL, with --os-url, OS_URL or auth.url" -msgstr "Legen Sie eine Dienst-URL mit --os-url, OS_URL oder auth.url fest" - -msgid "Set a token with --os-token, OS_TOKEN or auth.token" -msgstr "Legen Sie einen Token mit --os-token, OS_TOKEN oder auth.token fest" - -msgid "Set a username with --os-username, OS_USERNAME, or auth.username" -msgstr "" -"Legen Sie einen Benutzernamen mit --os-username, OS_USERNAME oder auth." -"username fest" - -msgid "" -"Set an authentication URL, with --os-auth-url, OS_AUTH_URL or auth.auth_url" -msgstr "" -"Legen Sie eine Authentifizierungs-URL mit --os-auth-url, OS_AUTH_URL oder " -"auth.auth_url fest" - -msgid "Set default project (name or ID)" -msgstr "Standardprojekt festlegen (Name oder Kennung)" - -msgid "Set new root password (interactive only)" -msgstr "Neues root-Passwort festlegen (Nur interaktiv)" - -msgid "Set project description" -msgstr "Projektbeschreibung festlegen" - -msgid "Set project name" -msgstr "Projektname festlegen" - -msgid "Set user email address" -msgstr "E-Mail-Adresse des Benutzers festlegen" - -msgid "Set user name" -msgstr "Benutzername festlegen" - -msgid "Set user password" -msgstr "Benutzerpasswort festlegen" - -msgid "Show credentials for user (name or ID)" -msgstr "Anmeldedaten für Benutzer anzeigen (name or ID)" - -msgid "Show service catalog information" -msgstr "Dienstkataloginformation anzeigen" - -msgid "Target hostname" -msgstr "Zielhostname" - -msgid "" -"The argument --type is deprecated, use service create --name " -"type instead." -msgstr "" -"Das Argument --type ist veraltet, verwenden Sie stattdessen service create --" -"name type." - -msgid "Token to be deleted" -msgstr "Zu löschender Token" - -msgid "URL" -msgstr "URL" - -msgid "Use only IPv4 addresses" -msgstr "Nur IPv4-Adressen verwenden" - -msgid "Use only IPv6 addresses" -msgstr "Nur IPv6-Adressen verwenden" - -msgid "Use other IP address (public, private, etc)" -msgstr "Andere IP-Adresse verwenden (öffentlich, privat, usw.)" - -msgid "Use private IP address" -msgstr "Private IP-Adresse verwenden" - -msgid "Use public IP address" -msgstr "Öffentliche IP-Adresse verwenden" - -msgid "" -"Use specified volume as the config drive, or 'True' to use an ephemeral drive" -msgstr "" -"Benutzerdefinierter Datenträger als Konfigurationslaufwerk oder 'True', um " -"ein flüchtiges Laufwerk zu verwenden" - -msgid "User data file to serve from the metadata server" -msgstr "Vom Metadatenserver anzubietende Benutzerdatendatei" - -msgid "User must be specified" -msgstr "Benutzer muss angegeben werden" - -msgid "User to change (name or ID)" -msgstr "Zu ändernder Benutzer (Name oder Kennung)" - -msgid "User to display (name or ID)" -msgstr "Anzuzeigender Benutzer (Name oder Kennung)" - -msgid "User to list (name or ID)" -msgstr "Aufzulistender Benutzer (Name oder Kennung)" - -msgid "User(s) to delete (name or ID)" -msgstr "Zu löschende(r) Benutzer (Name oder Kennung)" - -msgid "Version" -msgstr "Version" - -msgid "Volume to add (name or ID)" -msgstr "Zu hinzufügender Datenträger (Name oder Kennung)" - -msgid "Volume to remove (name or ID)" -msgstr "Zu entfernender Datenträger (Name oder Kennung)" - -msgid "Wait for build to complete" -msgstr "Warten Sie, bis die Herstellung abgeschlossen ist" - -msgid "Wait for delete to complete" -msgstr "Warten Sie, bis das Löschen abgeschlossen ist" - -msgid "Wait for image create to complete" -msgstr "Warten Sie, bis die Abbilderstellung abgeschlossen ist" - -msgid "Wait for reboot to complete" -msgstr "Warten Sie, bis der Neustart abgeschlossen ist" - -msgid "Wait for rebuild to complete" -msgstr "Warten Sie, bis die Wiederherstellung abgeschlossen ist" - -msgid "Wait for resize to complete" -msgstr "Warten Sie, bis die Größenänderung abgeschlossen ist" - -msgid "either net-id or port-id should be specified but not both" -msgstr "entweder net-id oder port-id sollten angegeben sein, aber nicht beide" - -msgid "max instances should be > 0" -msgstr "max. Instanzen sollten > 0 sein" - -msgid "min instances should be <= max instances" -msgstr "min. Instanzen sollten <= max. Instanzen sein" - -msgid "min instances should be > 0" -msgstr "min. Instanzen sollten > 0 sein" diff --git a/openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po b/openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po new file mode 100644 index 00000000..f3470f18 --- /dev/null +++ b/openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po @@ -0,0 +1,6805 @@ +# Andreas Jaeger , 2017. #zanata +# işbaran akçayır , 2017. #zanata +msgid "" +msgstr "" +"Project-Id-Version: python-openstackclient 3.12.1.dev21\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2017-08-14 16:23+0000\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2017-08-15 12:09+0000\n" +"Last-Translator: Andreas Jaeger \n" +"Language-Team: Turkish (Turkey)\n" +"Language: tr-TR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Zanata 3.9.6\n" +"X-POOTLE-MTIME: 1502656444.000000\n" + +#, python-format +msgid "" +"\"Create\" rule command for type \"%(rule_type)s\" requires arguments " +"%(args)s" +msgstr "" +"\"%(rule_type)s\" türü için \"create\" kural komutu %(args)s argümanlarını " +"gerektirir" + +msgid "\"Create\" rule command requires argument \"type\"" +msgstr "\"Create\" kural komutu için \"type\" argümanı zorunludur" + +#, python-format +msgid "%(errors)s of %(total)s groups failed to delete." +msgstr "%(total)s gruptan %(errors)s grup silinirken hata oluştu." + +#, python-format +msgid "%(errors)s of %(total)s projects failed to delete." +msgstr "%(total)s projeden %(errors)s tanesinin silme işlemi başarısız." + +#, python-format +msgid "%(errors)s of %(total)s roles failed to delete." +msgstr "%(total)s rolden %(errors)s tanesinin silme işlemi başarısız." + +#, python-format +msgid "%(errors)s of %(total)s trusts failed to delete." +msgstr "%(total)s güvenden %(errors)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(errors)s of %(total)s users failed to delete." +msgstr "%(total)s kullanıcıdan %(errors)s kullanıcıyı silme işlemi başarısız." + +#, python-format +msgid "%(num)s of %(total)s %(resource)ss failed to delete." +msgstr "%(total)s %(resource)s'tan %(num)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s %(resource)ss failed to delete." +msgstr "%(total)s'ın %(result)s %(resource)s'ların silinmesi başarısız." + +#, python-format +msgid "%(result)s of %(total)s EC2 keys failed to delete." +msgstr "" +"%(total)s EC2 anahtarlarından %(result)s anahtarın silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s QoS policies failed to delete." +msgstr "" +"%(total)s QoS politikalarından %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s QoS specifications failed to delete." +msgstr "%(total)s QoS özelliklerinden %(result)s silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s RBAC policies failed to delete." +msgstr "" +"%(total)s RBAC politikasından %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s address scopes failed to delete." +msgstr "%(total)s adres kapsamından %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s agents failed to delete." +msgstr "%(total)s ajandan %(result)s ajanın silinmesi başarısız." + +#, python-format +msgid "%(result)s of %(total)s aggregates failed to delete." +msgstr "%(total)s kümeden %(result)s tanesinin silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s backups failed to delete." +msgstr "%(total)s yedeklerden %(result)s silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s compute services failed to delete." +msgstr "" +"%(total)s hesaplama servislerinin %(result)s tanesinin silme işlemi " +"başarısız." + +#, python-format +msgid "%(result)s of %(total)s consistency group snapshots failed to delete." +msgstr "" +"%(total)s tutarlılık grubu anlık görüntülerinden %(result)s silinme işlemi " +"başarısız." + +#, python-format +msgid "%(result)s of %(total)s consistency groups failed to delete." +msgstr "%(total)s tutarlılık gruplarından %(result)s silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s consumers failed to delete." +msgstr "%(total)s alıcılardan %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s credential failed to delete." +msgstr "%(total)s kimlik bilgisinden %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s domains failed to delete." +msgstr "%(total)s alandan %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s endpoints failed to delete." +msgstr "%(total)s uç noktalarından %(result)s silinmesi başarısız." + +#, python-format +msgid "%(result)s of %(total)s federation protocols failed to delete." +msgstr "" +"%(total)s federasyon protokolünden %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s flavor_profiles failed to delete." +msgstr "%(total)s flavor_profiles'in %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s flavors failed to delete." +msgstr "%(total)s flavor'dan %(result)s flavor'ın silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s identity providers failed to delete." +msgstr "" +"%(total)s kimlik sağlayıcıdan %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s keys failed to delete." +msgstr "%(total)s anahtarlardan %(result)s anahtarın silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s mappings failed to delete." +msgstr "%(total)s eşleştirmeden %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s meter rules failed to delete." +msgstr "" +"%(total)s ölçek kurallarından %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s meters failed to delete." +msgstr "%(total)s ölçekten %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s network agents failed to delete." +msgstr "%(total)s ağ ajanından %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s network segments failed to delete." +msgstr "%(total)s ağ dilimlerinin %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s policys failed to delete." +msgstr "%(total)s politikadan %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s ports failed to delete." +msgstr "" +"%(total)s bağlantı noktasından %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s regions failed to delete." +msgstr "%(total)s bölgeden %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s routers failed to delete." +msgstr "%(total)s yönlendiricilerden %(result)s silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s server groups failed to delete." +msgstr "%(total)s sunucu grubundan %(result)s silinmesi başarısız." + +#, python-format +msgid "%(result)s of %(total)s service providers failed to delete." +msgstr "" +"%(total)s servis sağlayıcıdan %(result)s tanesinin silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s services failed to delete." +msgstr "%(total)s servisten %(result)s tanesini silme başarısız." + +#, python-format +msgid "%(result)s of %(total)s snapshots failed to delete." +msgstr "%(total)s anlık görüntülerden %(result)s silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s subnet pools failed to delete." +msgstr "" +"%(total)s alt ağ havuzlarından %(result)s sonucunu silme işlemi başarısız." + +#, python-format +msgid "%(result)s of %(total)s subnets failed to delete." +msgstr "%(total)s altağlardan %(result)s silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s users not added to group %(group)s." +msgstr "" +"%(group)s grubuna %(total)s kullanıcıdan %(result)s kullanıcı eklenmedi." + +#, python-format +msgid "%(result)s of %(total)s users not removed from group %(group)s." +msgstr "" +"%(total)s kullanıcıdan %(result)s tanesi %(group)s grubundan silinmedi." + +#, python-format +msgid "%(result)s of %(total)s volume transfer requests failed to delete" +msgstr "" +"%(total)s disk bölümü aktarım isteklerinden %(result)s silinirken hata oluştu" + +#, python-format +msgid "%(result)s of %(total)s volume types failed to delete." +msgstr "%(total)s disk bölümü türlerinden %(result)s silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s volumes failed to add." +msgstr "%(total)s disk bölümlerinden %(result)s eklenirken hata." + +#, python-format +msgid "%(result)s of %(total)s volumes failed to delete." +msgstr "%(total)s disk bölümlerinden %(result)s tanesi silinirken hata oluştu." + +#, python-format +msgid "%(result)s of %(total)s volumes failed to remove." +msgstr "%(total)s disk bölümünden %(result)s silinirken hata oluştu." + +#, python-format +msgid "%(user)s in group %(group)s\n" +msgstr "%(group)s grubundaki %(user)s\n" + +#, python-format +msgid "%(user)s not added to group %(group)s: %(e)s" +msgstr "%(user)s %(group)s grubuna eklenmedi: %(e)s" + +#, python-format +msgid "%(user)s not in group %(group)s\n" +msgstr "%(group)s grubunda olmayan %(user)s\n" + +#, python-format +msgid "%(user)s not removed from group %(group)s: %(e)s" +msgstr "%(group)s'dan %(user)s kaldırılmadı: %(e)s" + +#, python-format +msgid "%s not found" +msgstr "%s bulunamadı" + +msgid "" +"'--availability-zone' option will not work if creating consistency group " +"from source" +msgstr "" +"'--availability-zone' seçeneği tutarlılık grubu kaynaktan oluşturulursa " +"çalışmaz." + +msgid "" +"'--encryption-provider' should be specified while creating a new encryption " +"type" +msgstr "" +"Yeni bir şifreleme türü oluştururken '--encryption-provider' belirtilmelidir" + +msgid "" +"'--force' option will not work when you create new volume snapshot from an " +"existing remote volume snapshot" +msgstr "" +"Varolan uzak disk bölümünden yeni görüntüsünden yeni disk bölümü anlık " +"görüntüsü oluştururken 'force' seçeneği çalışmaz" + +msgid "'--retype-policy' option will not work without '--type' option" +msgstr "'--retype-policy' seçeneği '--type' seçeneği olmadan çalışmaz" + +msgid "--project is only allowed with --private" +msgstr "--project sadece --private ile kullanılabilir" + +msgid "" +"--size is a required option if snapshot or source volume is not specified." +msgstr "" +"Anlık görüntü veya kaynak disk bölümü belirtilmezse --size gerekli bir " +"seçenektir." + +msgid "A service URL where SAML assertions are being sent (required)" +msgstr "SAML bildirimlerinin gönderildiği bir hizmet URL'i (gerekli)" + +msgid "Accept the image membership" +msgstr "İmaj üyeliğini kabul et" + +msgid "Accept volume transfer request." +msgstr "Disk bölümü aktarım isteğini kabul et." + +msgid "" +"Action for the RBAC policy (\"access_as_external\" or \"access_as_shared\")" +msgstr "" +"RBAC politika için eylem (\"access_as_external\" veya \"access_as_shared\")" + +msgid "Activate the image" +msgstr "İmajı aktifleştir" + +msgid "" +"Add a policy to ('affinity' or 'anti-affinity', default to 'affinity')" +msgstr "" +"'e bir politika ekle ('affinity' veya 'anti-affinity', varsayılan " +"'affinity' için)" + +msgid "Add a port to a router" +msgstr "Yönlendiriciye bir bağlantı noktası ekle" + +msgid "Add a property to (repeat option to set multiple properties)" +msgstr "" +"'e bir özellik ekle (birden fazla özellik eklemek için seçeneği " +"tekrarla)" + +msgid "Add a service profile to a network flavor" +msgstr "Ağ flavor'ına bir servis profili ekle" + +msgid "Add a subnet to a router" +msgstr "Bir yönlendiriciye bir alt ağ ekle" + +msgid "" +"Add allowed-address pair associated with this port: ip-address=[," +"mac-address=] (repeat option to set multiple allowed-address " +"pairs)" +msgstr "" +"Bu bağlantı noktası ile ilişkili izin verilen adres çiftini ekle: ip-" +"address=[,mac-address=] (birden fazla izin verilen " +"adres çifti ayarlamak için seçeneği tekrarlayın)" + +msgid "Add fixed IP address to server" +msgstr "Sunucuya sabit IP adresi ekle" + +msgid "Add floating IP address to server" +msgstr "Sunucuya kayan IP adresi ekle" + +msgid "Add host to aggregate" +msgstr "Kümeye sunucu ekle" + +msgid "Add network to a DHCP agent" +msgstr "Bir DHCP ajanına ağ ekle" + +msgid "Add network to an agent" +msgstr "Bir ajana ağ ekle" + +msgid "Add port to server" +msgstr "Sunucuya bağlantı noktası ekle" + +msgid "Add role to project:user" +msgstr "Proje:kullanıcıya rol ekle" + +msgid "Add router to an L3 agent" +msgstr "L3 aracısına yönlendirici ekleyin" + +msgid "Add router to an agent" +msgstr "Bir ajana yönlendirici ekle" + +msgid "Add security group to server" +msgstr "Sunucuya güvenlik grubu ekle" + +msgid "Add user to group" +msgstr "Gruba kullanıcı ekle" + +msgid "Add volume to server" +msgstr "Disk bölümünü sunucuya ekle" + +msgid "Add volume(s) to consistency group" +msgstr "Uyum grubuna disk bölümleri ekle" + +msgid "" +"Additional route for this subnet e.g.: destination=10.10.0.0/16," +"gateway=192.168.71.254 destination: destination subnet (in CIDR notation) " +"gateway: nexthop IP address (repeat option to add multiple routes)" +msgstr "" +"Bu alt ağ için ek yönlendirici örn: hedef=10.10.0.0/16,geçit=192.168.71.254 " +"hedef: hedef alt ağ (CIDR gösteriminde) geçit: bir sonraki durak IP adresi " +"(birden fazla yölendirici eklemek için tekrarlanacak seçenek)" + +msgid "Address scope to display (name or ID)" +msgstr "Gösterilecek adres kapsamı (isim veya ID)" + +msgid "Address scope to modify (name or ID)" +msgstr "Değiştirilecek adres kapsamı (ad veya kimlik)" + +msgid "Address scope(s) to delete (name or ID)" +msgstr "Silinecek adres kapsam(lar)ı (isim veya ID)" + +msgid "Adds a role assignment to a user or group on a domain or project" +msgstr "Bir alandaki veya projedeki bir kullanıcıya veya gruba rol atama ekler" + +msgid "Agent from which router will be removed (ID only)" +msgstr "Yönlendiricinin kaldırılacağı ajan (yalnızca ID)" + +msgid "Agent to which a network is added (ID only)" +msgstr "Bir ağ eklenecek ajan (sadece ID)" + +msgid "Agent to which a network is removed (ID only)" +msgstr "Ağın kaldırılacağı ajan (sadece ID)" + +msgid "Agent to which a router is added (ID only)" +msgstr "Yönlendiricinin eklendiği ajan (yalnızca ID)" + +msgid "Aggregate (name or ID)" +msgstr "Küme (isim veya ID)" + +msgid "Aggregate to display (name or ID)" +msgstr "Gösterilecek küme (isim veya ID)" + +msgid "Aggregate to modify (name or ID)" +msgstr "Düzenlenecek küme (isim veya ID)" + +msgid "Aggregate(s) to delete (name or ID)" +msgstr "Silinecek küme(ler) (isim veya ID)" + +msgid "Allocate port on host (ID only)" +msgstr " ana bilgisayarında bağlantı noktası ayır (sadece ID)" + +msgid "" +"Allocation pool IP addresses for this subnet e.g.: start=192.168.199.2," +"end=192.168.199.254 (repeat option to add multiple IP addresses)" +msgstr "" +"Bu alt ağ için ayırma havuzu IP adresleri örn: başlangıç=192.168.199.2," +"bitiş=192.168.199.254 (birden fazla IP adresi eklemek için seçeneği tekrarla)" + +msgid "" +"Allocation pool IP addresses to be removed from this subnet e.g.: " +"start=192.168.199.2,end=192.168.199.254 (repeat option to unset multiple " +"allocation pools)" +msgstr "" +"Bu altağdan silinecek IP adres tahsis havuzu örn: başlangıç=192.168.199.2," +"bitiş=192.168.199.254 (birden fazla tahsis havuzu ayarını kaldırmak için " +"seçeneği tekrarla)" + +msgid "" +"Allow to access private flavor (name or ID) (Must be used with --" +"private option)" +msgstr "" +"'nin özel flavor'a erişmesine izin verin (isim veya ID) (--private " +"seçeneği ile beraber kullanılmalı)" + +msgid "" +"Allow to access private type (name or ID) (Must be used with --" +"private option)" +msgstr "" +"Özel türe erişimek için 'ye izin ver (isim veya ID) (--private " +"seçeneği ile kullanılması zorunludur)" + +msgid "Allow delete in state other than error or available" +msgstr "Hata veya kullanılabilirden başka durumda silinmesine izin ver" + +msgid "Allow disk over-commit on the destination host" +msgstr "Hedef ana bilgisayarda disk aşırı-işlemeye izin ver" + +msgid "Allow image to be deleted (default)" +msgstr "İmajın silinmesine izin ver (varsayılan)" + +msgid "Allow to back up an in-use volume" +msgstr "Kullanımdaki birimi yedeklemeye izin ver" + +msgid "Allow to delete in-use QoS specification(s)" +msgstr "Kullanımdaki QoS özelliklerini silmeye izin ver" + +msgid "Allow volume to be attached more than once (default to False)" +msgstr "Diskin birden fazla eklenmesine izin ver (varsayılan olarak False)" + +#, python-format +msgid "An error occurred when reading rules from file %(path)s: %(error)s" +msgstr "%(path)s dosaysından kurallar okunurken hata oluştu: %(error)s" + +msgid "Anchor for paging" +msgstr "Sayfalama için sabitleyici" + +msgid "Apply rule to incoming network traffic (default)" +msgstr "Kuralı gelen trafiğe uygula (varsayılan)" + +msgid "Apply rule to outgoing network traffic" +msgstr "Giden ağ trafiğine kural uygula" + +msgid "" +"Arbitrary scheduler hint key-value pairs to help boot an instance (repeat " +"option to set multiple hints)" +msgstr "" +"İsteğe bağlı bir önyüklemeye yardımcı olmak için keyfi zamanlayıcı ipucu " +"anahtar-değer çiftleri (birden fazla ipucu ayarlamak için seçeneği tekrarla)" + +msgid "" +"Argument --dst-port not allowed with arguments --icmp-type and --icmp-code" +msgstr "" +"--dst-port argümanı --icmp-type ve --icmp-code argümanları ile kullanılamaz" + +msgid "Argument --icmp-type required with argument --icmp-code" +msgstr "--icmp-type argümanı --icmp-code ile kullanılması zorunlu" + +msgid "Assocaite the floating IP with port (name or ID)" +msgstr "Yüzen IP'yi bağlantı noktasıyla ilişkilendirin (ad veya kimlik)" + +msgid "Associate a QoS specification to a volume type" +msgstr "Bir disk bölümü türüyle QoS özelliklerini ilişkilendir" + +msgid "Associate no security groups with this port" +msgstr "Bu bağlantı noktası ile hiç bir güvenlik grubunu ilişkilendirme" + +msgid "Associate project with image" +msgstr "Projeyi imaj ile ilişkilendirin" + +msgid "Attach QoS policy to this port (name or ID)" +msgstr "Bu bağlantı noktasına QoS politikası ekle (isim veya ID)" + +msgid "" +"Attempt forced removal of snapshot(s), regardless of state (defaults to " +"False)" +msgstr "" +"Durumdan bağımsız olarak, anlık görüntüleri zorla kaldırma girişimi " +"(varsayılan olarak False)." + +msgid "" +"Attempt forced removal of volume(s), regardless of state (defaults to False)" +msgstr "" +"Durumdan bağımsız olarak hacim(ler)in zorla kaldırılması girişimi " +"(varsayılan olarak False)" + +msgid "Attempt to mask passwords (default)" +msgstr "Parolaları maskelemeye çalış (varsayılan)" + +msgid "Attempting to upload multiple objects and using --name is not permitted" +msgstr "" +"Birden çok nesne yüklemeye çalışılıyor ve --name kullanmaya izin verilmiyor" + +msgid "Authentication URL of remote federated service provider (required)" +msgstr "Uzak federe servis sağlayıcının kimlik doğrulama URL'si (gerekli)" + +msgid "Authentication token to use" +msgstr "Kullanılacak yetkilendirme jetonu" + +msgid "Authorize a request token" +msgstr "Bir istek jetonu yetkilendir" + +msgid "" +"Auto option is not available for Subnet Set. Valid options are " +"or none" +msgstr "" +"Otomatik seçeneği Alt ağ Kümesi için kullanılabilir değildir. Geçerli " +"değerler veya none'dır" + +msgid "" +"Availability Zone in which to create this network (Network Availability Zone " +"extension required, repeat option to set multiple availability zones)" +msgstr "" +"Bu ağın oluşturulacağı kullanılabilirlik bölgesi (Ağ Kullanılabilirlik Alanı " +"uzantısı gerekli, birden çok kullanılabilirlik bölgesi ayarlamak için " +"seçeneği tekrarla)" + +msgid "" +"Availability Zone in which to create this router (Router Availability Zone " +"extension required, repeat option to set multiple availability zones)" +msgstr "" +"Bu yönlendiricinin oluşturulacağı Kullanılabilirlik Bölgesi (Yönlendirici " +"Kullanılabilirlik Bölge uzantısı gerekiyor, birden fazla kullanılabilirlik " +"bölgesi ayarlamak için seçeneği tekrarla)" + +msgid "" +"Availability zone for this consistency group (not available if creating " +"consistency group from source)" +msgstr "" +"Bu tutarlılık grubu için kullanılabilirlik bölgesi (kaynaktan tutarlılık " +"grubu oluşturursanız kullanılamaz)" + +msgid "Availability zone name" +msgstr "Kullanılabilirlik bölgesi ismi" + +msgid "Availability zones list not supported by Block Storage API" +msgstr "" +"Blok Depolama Alanı API'sı tarafından desteklenmeyen kullanılabilirlik " +"bölgeleri listesi" + +msgid "Availability zones list not supported by Network API" +msgstr "" +"Ağ API'sı tarafından desteklenmeyen kullanılabilirlik bölgeleri listesi" + +msgid "Backup to display (name or ID)" +msgstr "Gösterilecek yedek (isim veya ID)" + +msgid "Backup to modify (name or ID)" +msgstr "Düzenlenecek yedek (isim veya ID)" + +msgid "Backup to restore (name or ID)" +msgstr "Geri yüklenecek yedek (isim veya ID)" + +msgid "Backup(s) to delete (name or ID)" +msgstr "Silinecek yedek(ler) (isim veya ID)" + +#, python-format +msgid "Can't open '%(data)s': %(exception)s" +msgstr "'%(data)s' açılamadı: %(exception)s" + +#, python-format +msgid "Can't open '%(source)s': %(exception)s" +msgstr "'%(source)s' açılamadı: %(exception)s" + +msgid "Cannot remove access for a public flavor" +msgstr "Herkese açık flavor'dan erişimin kaldırılması işlemi başarısız" + +msgid "Cannot set access for a public flavor" +msgstr "Ortak flavor için erişim ayarlanamaz" + +msgid "Cannot specify option --disable-reason without --disable specified." +msgstr "--disable-reason seçeneği --disable olmadan belirtilemez." + +msgid "Change current user password" +msgstr "Mevcut kullanıcının parolasını değiştir" + +msgid "Check user membership in group" +msgstr "Kullanıcının grup üyeliğini kontrol et" + +msgid "Clean project resources, but don't delete the project" +msgstr "Projenin kaynaklarını temizle ama projeyi silme" + +msgid "Clean resources associated with a project" +msgstr "Bir proje ile alakalı kaynakları temizle" + +#, python-format +msgid "Clear all tags associated with the %s" +msgstr "%s ile ilişkili tüm etiketleri sil" + +msgid "" +"Clear associated allocation-pools from the subnet. Specify both --allocation-" +"pool and --no-allocation-pool to overwrite the current allocation pool " +"information." +msgstr "" +"Alt ağdan ilgili paylaştırma havuzunu temizle. Mevcut paylaştırma havuzu " +"bilgisinin üzerine yazmak için --allocation-pool ve --no-allocation-pool " +"seçeneklerinin her ikisini de belirle." + +msgid "" +"Clear associated host-routes from the subnet. Specify both --host-route and " +"--no-host-route to overwrite the current host route information." +msgstr "" +"Alt ağdaki ilişkili ana makine yollarını temizleyin. Mevcut ana bilgisayar " +"yönlendirme bilgisinin üzerine yazmak için --host-route ve --no-host-route " +"seçeneklerinin her ikisini de belirtin." + +msgid "" +"Clear existing allowed-address pairs associatedwith this port.(Specify both " +"--allowed-address and --no-allowed-addressto overwrite the current allowed-" +"address pairs)" +msgstr "" +"Bu bağlantı noktasıyla ilişkili mevcut izinli adres çiftlerini temizleyin." +"(Mevcut izinli adres çiftinin üzerinde yazmak için --allowed-address ve --" +"no-allowed-addressto seçeneklerinin her ikisini de belirtiniz)" + +msgid "" +"Clear existing information of DNS Nameservers. Specify both --dns-nameserver " +"and --no-dns-nameserver to overwrite the current DNS Nameserver information." +msgstr "" +"DNS isim sunucularının mevcut bilgilerini temizle. Mevcut DNS isim sunucusu " +"bilgisinin üzerine yazmak için --dns-nameserver ve --no-dns-nameserver " +"özelliklerini belirle." + +msgid "" +"Clear existing information of binding:profile.Specify both --binding-profile " +"and --no-binding-profile to overwrite the current binding:profile " +"information." +msgstr "" +"binding:profile'in mevcut bilgilerini temizle. Mevcut binding:profile " +"bilgisinin üzerine yazmak için --binding-profile ve --no-binding-profile her " +"ikisini de belirtin." + +msgid "Clear existing information of data plane status" +msgstr "Mevcut veri düzlemi durumu bilgilerini temizle" + +msgid "" +"Clear existing information of fixed IP addresses.Specify both --fixed-ip and " +"--no-fixed-ip to overwrite the current fixed IP addresses." +msgstr "" +"Sabit IP adresleri için mevcut bilgileri silin. Geçerli sabit IP " +"adreslerinin üzerine yazmak için hem --fixed-ip hem de --no-fixed-ip " +"belirtin." + +msgid "Clear existing security groups associated with this port" +msgstr "Bu bağlantı noktasıyla ilişkili mevcut güvenlik gruplarını temizle" + +msgid "Clear high availability attribute of the router (disabled router only)" +msgstr "" +"Yönlendiricinin yüksek kullanılabilirlik özelliğini temizle (sadece devre " +"dışı bırakılmış yönlendirici)" + +msgid "" +"Clear routes associated with the router. Specify both --route and --no-route " +"to overwrite current value of route." +msgstr "" +"Yönlendirici ile ilişkili yönleri temizle. Mevcut yön değerinin üzerine " +"yazmak için hem --route hem de --no-route seçeneklerini belirtin." + +#, python-format +msgid "" +"Clear tags associated with the %s. Specify both --tag and --no-tag to " +"overwrite current tags" +msgstr "" +"%s ile ilgili etiketleri temizle. Mevcut etiketlerin üzerine yazmak için hem " +"--tag hem de --no-tag seçeneğini belirtin" + +msgid "Command Failed: One or more of the operations failed" +msgstr "Komut başarısız: Bir veya birden fazla işlem başarısız" + +msgid "Complete\n" +msgstr "Tamamla\n" + +#, python-format +msgid "Compute API version, default=%s (Env: OS_COMPUTE_API_VERSION)" +msgstr "Hesaplama API sürümü, varsayılan=%s (Env: OS_COMPUTE_API_VERSION)" + +#, python-format +msgid "Compute service %(service)s of host %(host)s failed to set." +msgstr "Ana bilgisayar %(host)s'ın hesap hizmeti %(service)s ayarlanamadı." + +msgid "Compute service(s) to delete (ID only)" +msgstr "Hesaplama servis(ler)ini sil" + +msgid "Confirm server resize is complete" +msgstr "Sunucu yeniden boyutlandırmasının tamamlandığını doğrula" + +msgid "Consistency group containing (name or ID)" +msgstr "'ü içeren tutarlılık grubu (isim veya ID)" + +msgid "Consistency group snapshot to display (name or ID)" +msgstr "Tutarlılık grupunun gösterilecek anlık görüntüsü (isim veya ID)" + +msgid "Consistency group snapshot(s) to delete (name or ID)" +msgstr "Silinecek tutarlılık grubu anlık görüntüleri (isim veya ID)" + +msgid "Consistency group to contain (name or ID)" +msgstr " disk bölümünü içerecek tutarlılık grubu (isim veya ID)" + +msgid "Consistency group to display (name or ID)" +msgstr "Gösterilecek tutarlılık grubu (isim veya ID)" + +msgid "Consistency group to modify (name or ID)" +msgstr "Düzenlenecek tutarlılık grubu (isim veya ID)" + +msgid "" +"Consistency group to snapshot (name or ID) (default to be the same as " +")" +msgstr "" +"Anlık görüntüsü alınacak tutarlılık grubu (isim veya ID) (varsayılan olarak " +" ile aynı)" + +msgid "Consistency group where the new volume belongs to" +msgstr "Yeni disk bölümünün ait olduğu tutarlılık grubu" + +msgid "Consistency group(s) to delete (name or ID)" +msgstr "Silinecek tutarlılık grupları (isim veya ID)" + +msgid "Consumer key (required)" +msgstr "Alıcı anahtarı (gerekli)" + +#, python-format +msgid "Consumer of the QoS. Valid consumers: %s (defaults to 'both')" +msgstr "QoS tüketici. Geçerli tüketiciler: %s (varsayılan olarak 'her ikisi')" + +msgid "Consumer secret (required)" +msgstr "Alıcı gizli anahtarı (gerekli)" + +msgid "Consumer to display" +msgstr "Gösterilecek alıcı" + +msgid "Consumer to modify" +msgstr "Düzenlenecek alıcı" + +msgid "Consumer(s) to delete" +msgstr "Silinecek alıcı(lar)" + +msgid "Container for new object" +msgstr "Yeni nesne için kap" + +#, python-format +msgid "Container name is %s characters long, the default limit is 256" +msgstr "Kap ismi %s karakter uzunluğunda, varsayılan sınır 256'dır" + +msgid "Container to display" +msgstr "Gösterilecek kap" + +msgid "Container to list" +msgstr "Listelenecek kap" + +msgid "Container to modify" +msgstr "Düzenlenecek kap" + +msgid "Container to save" +msgstr "Kaydedilecek kap" + +msgid "Container(s) to delete" +msgstr "Silinecek kap(lar)" + +msgid "Copy image from the data store (similar to --location)" +msgstr "Veri deposundan imajı kopyala (--location'a benzer)" + +#, python-format +msgid "Could not find security group rule with ID '%s'" +msgstr "'%s' ID'li güvenlik grubu kuralı bulunamadı" + +msgid "Create EC2 credentials" +msgstr "EC2 kimlik bilgilerini oluştur" + +msgid "" +"Create a NIC on the server and connect it to network. Specify option " +"multiple times to create multiple NICs. This is a wrapper for the '--nic net-" +"id=' parameter that provides simple syntax for the standard use " +"case of connecting a new server to a given network. For more advanced use " +"cases, refer to the '--nic' parameter." +msgstr "" +"Sunucuda bir NIC oluşturun ve ağa bağlayın. Birden çok NIC oluşturmak için " +"seçeneği birden çok kez belirtin. Bu, belirli bir ağa yeni bir sunucu " +"bağlamak için standart kullanım örneği için basit sözdizimi sağlayan '--nic " +"net-id=' parametresi için bir sarmalayıcıdır. Daha gelişmiş " +"kullanım durumları için, '--nic' parametresine bakın." + +msgid "" +"Create a NIC on the server and connect it to port. Specify option multiple " +"times to create multiple NICs. This is a wrapper for the '--nic port-" +"id=' parameter that provides simple syntax for the standard use case " +"of connecting a new server to a given port. For more advanced use cases, " +"refer to the '--nic' parameter." +msgstr "" +"Sunucuda bir NIC oluşturun ve bağlantı noktasına bağlayın. Birden çok NIC " +"oluşturmak için seçeneği birden çok kez belirtin. Bu, belirli bir bağlantı " +"noktasına yeni bir sunucu bağlamak için standart kullanım örneği için basit " +"sözdizimi sağlayan '--nic port-id=' parametresi için bir " +"sarmalayıcıdır. Daha gelişmiş kullanım durumları için, '--nic' parametresine " +"bakın." + +msgid "" +"Create a NIC on the server. Specify option multiple times to create multiple " +"NICs. Either net-id or port-id must be provided, but not both. net-id: " +"attach NIC to network with this UUID, port-id: attach NIC to port with this " +"UUID, v4-fixed-ip: IPv4 fixed address for NIC (optional), v6-fixed-ip: IPv6 " +"fixed address for NIC (optional), none: (v2.37+) no network is attached, " +"auto: (v2.37+) the compute service will automatically allocate a network. " +"Specifying a --nic of auto or none cannot be used with any other --nic value." +msgstr "" +"Sunucuda bir NIC oluştur. Birden fazla NIC oluşturmak için seçeneği birden " +"fazla kere belirtin. Ya net-id ya da port-id sağlanmalı, ikisi bir arada " +"değil. net-id: NIC'nin ağa ekleneceği UUID, port-id: NIC'nin bağlantı " +"noktasına takılacağı UUID, v4-fixed-ip: NIC için sabit IPv4 adresi " +"(seçimli), v6-fixed-ip: NIC için sabit IPv6 adresi (seçimli), none: (v2.37+) " +"hiç ağ takılmaz, auto: (v2.37+) hesaplama servisi otomatik olarak bir ağ " +"ayırır. Auto veya none'ı bir --nic ile belirtmek başka bir --nic değeri ile " +"kullanılamaz." + +msgid "Create a QoS policy" +msgstr "QoS politikası oluştur" + +msgid "" +"Create a block device on the server.\n" +"Block device mapping in the format\n" +"=:::\n" +": block device name, like: vdb, xvdc (required)\n" +": UUID of the volume or snapshot (required)\n" +": volume or snapshot; default: volume (optional)\n" +": volume size if create from snapshot (optional)\n" +": true or false; default: false (optional)\n" +"(optional extension)" +msgstr "" +"Sunucu üzerinde blok aygıtı oluştur.\n" +"Blok aygıtı eşleşme formatı\n" +"=:::\n" +": blok aygıt ismi, örn: vdb, xvdc (gerekli)\n" +": disk bölümünün veya anlık görüntünün UUID'si (gerekli)\n" +": disk bölümü veya anlık görüntü; varsayılan: disk bölümü (seçimli)\n" +": eğer anlık görüntüden oluşturulduysa disk bölümü boyutu " +"(seçimli)\n" +": true veya false; varsayılan: false (seçimli)\n" +"(seçimli uzantı)" + +msgid "Create a centralized router" +msgstr "Merkezi bir yönlendirici oluştur" + +msgid "Create a distributed router" +msgstr "Dağıtık bir yönlendirici oluştur" + +msgid "Create a highly available router" +msgstr "Yüksek kullanılabilirlikli bir yönlendirici oluştur" + +msgid "Create a legacy router" +msgstr "Miraz yönlendirici oluştur" + +msgid "Create a new Address Scope" +msgstr "Yeni bir Adres Kapsamı oluştur" + +msgid "Create a new aggregate" +msgstr "Yeni bir küme oluştur" + +msgid "Create a new meter rule" +msgstr "Yeni bir ölçek kuralı oluştur" + +msgid "Create a new port" +msgstr "Yeni bir bağlantı noktası oluştur" + +msgid "Create a new router" +msgstr "Yeni bir yönlendirici oluştur" + +msgid "Create a new security group" +msgstr "Yeni bir grup oluştur" + +msgid "Create a new security group rule" +msgstr "Yeni bir güvenlik grubu kuralı oluştur" + +msgid "Create a new server" +msgstr "Yeni bir sunucu oluştur" + +msgid "Create a new server disk image from an existing server" +msgstr "Varolan bir sunucudan yeni bir disk imajı oluştur" + +msgid "Create a new server group." +msgstr "Yeni bir sunucu grubu oluştur." + +msgid "Create a request token" +msgstr "Bir istek jetonu oluştur" + +msgid "Create a server backup image" +msgstr "Bir sunucu yedek imajı oluştur" + +msgid "Create a snapshot attached to an instance. Default is False" +msgstr "Sunucuya bağlanacak bir anlık görüntü oluştur. Varsayılan Fals" + +msgid "Create a subnet" +msgstr "Bir altağ oluşturun" + +msgid "Create an access token" +msgstr "Erişim jetonu oluştur" + +msgid "Create compute agent" +msgstr "Hesaplama ajanı oluştur" + +msgid "" +"Create credentials for user (name or ID; default: current authenticated user)" +msgstr "" +"Kullanıcı için kimlik bilgileri oluştur (isim veya ID; varsayılan: mevcut " +"yetkilendirilmiş kullanıcı)" + +msgid "" +"Create credentials in project (name or ID; default: current authenticated " +"project)" +msgstr "" +"Projede kimlik bilgileri oluştur (isim veya ID; varsayılan: mevcut kimlik " +"doğrulama yapılmış proje)" + +msgid "Create description for meter" +msgstr "Sayaç için açıklama oluştur" + +msgid "Create floating IP" +msgstr "Yüzen IP oluştur" + +msgid "Create image from a volume" +msgstr "Bir disk bölümünden imaj oluştur" + +msgid "Create network RBAC policy" +msgstr "Ağ RBAC politikası oluştur" + +msgid "Create network meter" +msgstr "Ağ sayacı oluştur" + +msgid "Create new Network QoS rule" +msgstr "Yeni Ağ QoS kuralı oluştur" + +msgid "Create new QoS specification" +msgstr "Yeni QoS özelliği oluştur" + +msgid "Create new backup" +msgstr "Yeni yedek oluştur" + +msgid "Create new consistency group snapshot." +msgstr "Yeni tutarlılık grubu anlık görüntüsü oluştur." + +msgid "Create new consistency group." +msgstr "Yeni tutarlılık grubu oluştur." + +msgid "Create new consumer" +msgstr "Yeni tüketici oluştur" + +msgid "Create new container" +msgstr "Yeni kap oluştur" + +msgid "Create new credential" +msgstr "Yeni kimlik bilgileri oluştur" + +msgid "Create new domain" +msgstr "Yeni alan oluştur" + +msgid "Create new endpoint" +msgstr "Yeni bir uç nokta oluştur" + +msgid "Create new federation protocol" +msgstr "Yeni federasyon protokolü oluştur" + +msgid "Create new flavor" +msgstr "Yeni flavor oluştur" + +msgid "Create new group" +msgstr "Yeni grup oluştur" + +msgid "Create new identity provider" +msgstr "Yeni kimlik sağlayıcı oluştur" + +msgid "Create new mapping" +msgstr "Yeni eşleştirme oluştur" + +msgid "Create new network" +msgstr "Yeni ağ oluştur" + +msgid "Create new network flavor" +msgstr "Yeni ağ falvor'ı oluştur" + +msgid "Create new network flavor profile" +msgstr "Yeni ağ flavor profili oluştur" + +msgid "Create new network segment" +msgstr "Yeni ağ dilimi oluştur" + +msgid "Create new policy" +msgstr "Yeni politika oluştur" + +msgid "Create new project" +msgstr "Yeni proje oluştur" + +msgid "Create new public or private key for server ssh access" +msgstr "Sunucunun ssh erişimi için yeni açık ve kapalı anahtarları oluştur" + +msgid "Create new region" +msgstr "Yeni bölge oluştur" + +msgid "Create new role" +msgstr "Yeni rol oluştur" + +msgid "Create new service" +msgstr "Yeni servis oluştur" + +msgid "Create new service provider" +msgstr "Yeni servis sağlayıcı oluştur" + +msgid "Create new snapshot" +msgstr "Yeni anlık görüntü oluştur" + +msgid "Create new trust" +msgstr "Yeni güven oluştur" + +msgid "Create new user" +msgstr "Yeni kullanıcı oluştur" + +msgid "Create new volume" +msgstr "Yeni disk bölümü oluştur" + +msgid "Create new volume backup" +msgstr "Yeni disk bölümü yedeği oluştur" + +msgid "Create new volume snapshot" +msgstr "Yeni bir disk bölümü anlık görüntüsü oluştur" + +msgid "Create new volume type" +msgstr "Yeni disk bölümü türü oluşturun" + +msgid "Create rule in this security group (name or ID)" +msgstr "Bu güvenlik grubunda kural oluştur (isim veya ID)" + +msgid "Create server boot disk from this image (name or ID)" +msgstr "Bu imajdan sunucu ön yükleme diski oluştur (isim veya ID)" + +msgid "" +"Create server using this volume as the boot disk (name or ID).\n" +"This option automatically creates a block device mapping with a boot index " +"of 0. On many hypervisors (libvirt/kvm for example) this will be device vda. " +"Do not create a duplicate mapping using --block-device-mapping for this " +"volume." +msgstr "" +"Bu disk bölümünü ön yüklenebilir disk olarak kullanarak sunucu oluştur (isim " +"veya ID).\n" +"Bu seçenek otomatik olarak 0 ön yükleme diziniyle bir blok aygıt eşleşmesi " +"oluşturur. Bir çok yönetici arakatman (örneğin libvirt/kvm) üzerinde bu " +"aygıt vda'dir. Bu disk bölümü için --block-device-mapping kullanarak birden " +"fazla eşleşme oluşturmayın." + +msgid "Create server with this flavor (name or ID)" +msgstr "Bu flavor ile sunucu oluştur (isim veya ID)" + +msgid "Create subnet pool" +msgstr "Altağ havuzu oluştur" + +msgid "Create the auto allocated topology for project" +msgstr "Proje için otomatik ayrılmış topoloji oluştur" + +msgid "Create volume in " +msgstr " içerisinde disk bölümü oluştur" + +msgid "Create volume transfer request." +msgstr "Disk bölümü aktarım isteği oluştur." + +msgid "Create/upload an image" +msgstr "Bir imaj oluştur/yükle" + +msgid "Credentials access key" +msgstr "Kimlik bilgilerine erişim anahtarı" + +msgid "Credentials access key(s)" +msgstr "Kimlik bilgilerine erişim anahtar(lar)ı" + +msgid "" +"Custom data to be passed as binding:profile. Data may be passed as " +"= or JSON. (repeat option to set multiple binding:profile data)" +msgstr "" +"binding:profile olarak verilecek özel veri. Veri = şeklinde veya " +"JSON olarak verilebilir. (birden fazla binding:profile verisi ayarlamak için " +"seçeneği tekrarlayın)" + +msgid "DNS server for this subnet (repeat option to set multiple DNS servers)" +msgstr "" +"Bu alt ağ için DNS sunucu (birden fazla DNS sunucusu ayarlamak için seçeneği " +"tekrarlayın)" + +msgid "" +"DNS server to be removed from this subnet (repeat option to unset multiple " +"DNS servers)" +msgstr "" +"Bu altağdan silinecek DNS sunucu (Birden fazla DNS sunucusunun ayarını " +"kaldırmak için seçeneği tekrarla)" + +msgid "" +"DSCP mark: value can be 0, even numbers from 8-56, excluding 42, 44, 50, 52, " +"and 54" +msgstr "" +"DSCP işareti: değer 0 olabilir, 8-56 arasındaki çift sayılar, 42, 44, 50, " +"52, ve 54 hariç" + +msgid "Deactivate the image" +msgstr "İmajın aktivasyonunu kaldır" + +msgid "Default domain (name or ID)" +msgstr "Varsayılan alan (isim veya ID)" + +msgid "Default project (name or ID)" +msgstr "Varsayılan proje (isim veya ID)" + +msgid "Delete EC2 credentials" +msgstr "EC2 kimlik bilgilerini sil" + +msgid "Delete Network QoS rule" +msgstr "Ağ QoS kuralını sil" + +msgid "Delete QoS specification" +msgstr "QoS özelliklerini sil" + +msgid "Delete Qos Policy(s)" +msgstr "Qos Politika(lar/s)ını sil" + +msgid "Delete address scope(s)" +msgstr "Adres kapsam(lar)ını sil" + +msgid "" +"Delete auto allocated topology for a given project. Default is the current " +"project" +msgstr "" +"Belirli bir proje için otomatik ayrılan topolojiyi silin. Varsayılan geçerli " +"projedir" + +msgid "Delete auto allocated topology for project" +msgstr "Projeye otomatik ayrılan topolojiyi sil" + +msgid "Delete backup(s)" +msgstr "Yedek(ler)i sil" + +msgid "Delete compute agent(s)" +msgstr "Hesaplama ajan(lar)ını sil" + +msgid "Delete compute service(s)" +msgstr "Hesaplama servis(ler)ini sil" + +msgid "Delete consistency group snapshot(s)." +msgstr "Tutarlılık grubu anlık görüntüsünü sil." + +msgid "Delete consistency group(s)." +msgstr "Tutarlılık grubunu sil." + +msgid "Delete consumer(s)" +msgstr "Alıcıları sil" + +msgid "Delete container" +msgstr "Kabı sil" + +msgid "Delete credential(s)" +msgstr "Kimlik bilgilerini sil" + +msgid "Delete credentials for user (name or ID)" +msgstr "Kullanıcı için kimlik bilgilerini sil (isim veya ID)" + +msgid "Delete domain(s)" +msgstr "Alan(lar)ı sil" + +msgid "Delete endpoint(s)" +msgstr "Uç nokta(yı/ları) sil" + +msgid "Delete existing aggregate(s)" +msgstr "Var olan küme(ler/y)i sil" + +msgid "Delete existing server group(s)." +msgstr "Mevcut sunucu gruplarını sil." + +msgid "Delete federation protocol(s)" +msgstr "Federasyon protokol(ünü/lerini) sil" + +msgid "Delete flavor(s)" +msgstr "Flavor(lar)ı sil" + +msgid "Delete floating IP(s)" +msgstr "Yüzen IP(ler)i sil" + +msgid "Delete group(s)" +msgstr "Grup(ları/u) sil" + +msgid "Delete identity provider(s)" +msgstr "Kimlik sağlayıcı(ları/yı) sil" + +msgid "Delete image(s)" +msgstr "İmaj(lar)ı sil" + +msgid "Delete mapping(s)" +msgstr "Eşleştirme(yi/leri) sil" + +msgid "Delete meter rule(s)" +msgstr "Ölçüm kural(lar)ını sil" + +msgid "Delete network RBAC policy(s)" +msgstr "Ağ RBAC politikalarını sil" + +msgid "Delete network agent(s)" +msgstr "Ağ ajanlarını sil" + +msgid "Delete network flavor profile" +msgstr "Ağ flavor profilini sil" + +msgid "Delete network flavors" +msgstr "Ağ flavor'larını sil" + +msgid "Delete network meter" +msgstr "Ağ ölçeğini sil" + +msgid "Delete network segment(s)" +msgstr "Ağ segmentlerini sil" + +msgid "Delete network(s)" +msgstr "Ağı sil" + +msgid "Delete object from container" +msgstr "Kaptan nesne sil" + +msgid "Delete object(s) from " +msgstr "'den nesneleri sil" + +msgid "Delete policy(s)" +msgstr "Politika(ları/yı) sil" + +msgid "Delete port(s)" +msgstr "Bağlantı noktalarını sil" + +msgid "Delete project(s)" +msgstr "Proje(yi/leri) sil" + +msgid "Delete public or private key(s)" +msgstr "Genel veya özel anahtarları sil" + +msgid "Delete region(s)" +msgstr "Bölge(yi/leri) sil" + +msgid "Delete resources of the project used to authenticate" +msgstr "Kimlik kanıtlama için kullanılan proje kaynaklarını sil" + +msgid "Delete role(s)" +msgstr "Rol(leri/ü) sil" + +msgid "Delete router(s)" +msgstr "Yönlendirici(ler/y)i sil" + +msgid "Delete security group rule(s)" +msgstr "Güvenlik grubu kurallarını sil" + +msgid "Delete security group(s)" +msgstr "Güvenlik grubunu sil" + +msgid "Delete server(s)" +msgstr "Sunucu(ları/yu) sil" + +msgid "Delete service provider(s)" +msgstr "Servis sağlayıcı(ları/yı) sil" + +msgid "Delete service(s)" +msgstr "Servis(ler)i sil" + +msgid "Delete snapshot(s)" +msgstr "Anlık görüntü(yü/leri) sil" + +msgid "Delete subnet pool(s)" +msgstr "Altağ havuzunu sil" + +msgid "Delete subnet(s)" +msgstr "Altağ(lar)ı sil" + +msgid "Delete trust(s)" +msgstr "Güveni sil" + +msgid "Delete user(s)" +msgstr "Kullanıcı(yı/ları) sil" + +msgid "Delete volume backup(s)" +msgstr "Disk bölümü yedeklerini sil" + +msgid "Delete volume snapshot(s)" +msgstr "Disk bölümü anlık görüntülerini sil" + +msgid "Delete volume transfer request(s)." +msgstr "Disk bölümü aktarım isteğini sil." + +msgid "Delete volume type(s)" +msgstr "Disk bölümü türlerini sil" + +msgid "Delete volume(s)" +msgstr "Disk bölümlerini sil" + +#, python-format +msgid "Deleting %(resource)s : %(id)s" +msgstr "%(resource)s siliniyor: %(id)s" + +#, python-format +msgid "Deleting project: %s" +msgstr "Proje siliniyor: %s" + +msgid "Description for the flavor" +msgstr "Flavor için açıklama" + +msgid "Description for the flavor profile" +msgstr "Flavor profili için açıklama" + +msgid "Description of the QoS policy" +msgstr "QoS politikasının tanımı" + +msgid "Description of the backup" +msgstr "Yedeğin açıklaması" + +msgid "Description of the snapshot" +msgstr "Anlık görüntü tanımı" + +msgid "Description of this consistency group" +msgstr "Bu tutarlılık grubunun açıklaması" + +msgid "Description of this consistency group snapshot" +msgstr "Bu tutarlılık grubu anlık görüntüsünün açıklaması" + +msgid "Description of this port" +msgstr "Bu bağlantı noktasının açıklaması" + +msgid "" +"Desired IP and/or subnet (name or ID)on external gateway: subnet=,ip-" +"address= (repeat option to set multiple fixed IP addresses)" +msgstr "" +"Harici geçit üzerinde istenen IP ve/veya altağ: subnet=,ip-" +"address= (birden fazla sabit IP adres ayarlamak için seçeneği " +"tekrarla)" + +msgid "" +"Desired IP and/or subnet for filtering ports (name or ID): subnet=," +"ip-address= (repeat option to set multiple fixed IP addresses)" +msgstr "" +"Bağlantı noktalarını filtrelemek için tasarlanan IP ve/veya alt ağ (isim " +"veya ID): subnet=,ip-address= (birden fazla sabit IP " +"adresi ayarlamak için seçeneği tekrarlayın)" + +msgid "" +"Desired IP and/or subnet for this port (name or ID): subnet=,ip-" +"address= (repeat option to set multiple fixed IP addresses)" +msgstr "" +"Bu bağlantı noktası için istenen IP ve / veya alt ağ (ad veya kimlik): " +"subnet=, ip-address= (birden fazla sabit IP adresi " +"ayarlamak için seçeneği tekrarlayın)" + +msgid "" +"Desired IP and/or subnet which should be removed from this port (name or " +"ID): subnet=,ip-address= (repeat option to unset " +"multiple fixed IP addresses)" +msgstr "" +"Bu bağlantı noktasından kaldırılması gereken istenen IP ve/veya alt ağ (isim " +"veya ID): subnet=,ip-address= (birden fazla sabit IP " +"adresini kaldırmak için seçeneği tekrarlayın)" + +msgid "" +"Desired allowed-address pair which should be removed from this port: ip-" +"address= [,mac-address=] (repeat option to set " +"multiple allowed-address pairs)" +msgstr "" +"Bu bağlantıdan kaldırılması gereken tasarlanan erişilebilir adres çifti: ip-" +"address= [,mac-address=] (birden fazla izin verilen " +"adres çifti ayarlamak için seçeneği tekrarlayın)" + +msgid "" +"Desired key which should be removed from binding:profile(repeat option to " +"unset multiple binding:profile data)" +msgstr "" +"binding:profile'den çıkarılması gereken istenen anahtar (çoklu binding:" +"profile verisinin ayarını kaldırmak için seçeneği tekrarlayın)" + +msgid "" +"Destination filename (defaults to object name); using '-' as the filename " +"will print the file to stdout" +msgstr "" +"Hedef dosya ismi (nesne ismine varsayılan); '-' karakterini dosya adı olarak " +"kullanmak dosyayı stdout'a yazar" + +msgid "Destination host (takes the form: host@backend-name#pool)" +msgstr "Hedef ana bilgisayar (biçemi: anabilgisayar@artalanismi#havuz)" + +msgid "Destination port (ssh -p option)" +msgstr "Hedef bağlantı noktası (ssh -p seçeneği)" + +msgid "" +"Destination port, may be a single port or a starting and ending port range: " +"137:139. Required for IP protocols TCP and UDP. Ignored for ICMP IP " +"protocols." +msgstr "" +"Hedef bağlantı noktası, tek bir bağlantı noktası veya başlangıç ve bitiş " +"bağlantı noktası: 137:139 olabilir. TCP ve UDP IP protokolleri için " +"zorunludur. ICMP IP protokolleri için gözardı edilir." + +msgid "" +"Device owner of this port. This is the entity that uses the port (for " +"example, network:dhcp)." +msgstr "" +"Bu portun cihaz sahibi. Bu, bağlantı noktasını kullanan varlıktır (örneğin, " +"ağ: dhcp)." + +msgid "Disable DHCP" +msgstr "DHCP'yi devre dışı bırak" + +msgid "Disable Source NAT on external gateway" +msgstr "Harici geçit üzerinde Kaynak NAT'ı devre dışı bırak" + +msgid "Disable domain" +msgstr "Alanı devre dışı bırak" + +msgid "Disable endpoint" +msgstr "Uç noktayı devre dışı bırak" + +msgid "Disable maintenance mode for the host" +msgstr "Sunucu için bakım kipini devre dışı bırak" + +msgid "Disable network" +msgstr "Ağı devre dışı bırak" + +msgid "Disable network agent" +msgstr "Ağ ajanını devre dışı bırak" + +msgid "Disable network flavor" +msgstr "Ağ flavor'ını devre dışı bırak" + +msgid "Disable port" +msgstr "Bağlantı noktasını devre dışı bırak" + +msgid "Disable port security by default for ports created on this network" +msgstr "" +"Bu ağda oluşturulan bağlantı noktaları için varsayılan olarak bağlantı " +"noktası güvenlik işlevini devre dışı bırak" + +msgid "Disable port security for this port" +msgstr "Bu bağlantı noktası için bağlantı noktası güvenliğini devre dışı bırak" + +msgid "Disable project" +msgstr "Projeyi devredışı bırak" + +msgid "Disable router" +msgstr "Yönlendiriciyi devre dışı bırak" + +msgid "Disable service" +msgstr "Servisi devre dışı bırak" + +msgid "Disable the flavor" +msgstr "Flavor'ı etkisiz hale getir (varsayılan)" + +msgid "Disable the flavor profile" +msgstr "Flavor profilini etkisiz hale getir" + +msgid "Disable the host" +msgstr "Sunucuyu devredışı bırak" + +msgid "Disable the identity provider" +msgstr "Kimlik sağlayıcıyı devre dışı bırak" + +msgid "Disable the service provider" +msgstr "Servis sağlayıcıyı devre dışı bırak" + +msgid "Disable user" +msgstr "Kullanıcıyı devre dışı bırak" + +msgid "Disable volume service" +msgstr "Disk bölümü servisini devre dışı bırak" + +msgid "Disassociate a QoS specification from a volume type" +msgstr "Bir QoS özelliğini bir disk bölümü türünden ayırın" + +msgid "Disassociate any port associated with the floating IP" +msgstr "Kayan IP ile ilişkili herhangi bir bağlantıyı ayırın" + +msgid "Disassociate project with image" +msgstr "Projeyi imajla ayır" + +msgid "Disassociate the QoS from every volume type" +msgstr "Her disk bölümü türünden QoS'i ayır" + +msgid "Disk size in GB (default 0G)" +msgstr "GB cinsinden disk boyutu (varsayılan 0G)" + +msgid "Display from " +msgstr "dan göster" + +msgid "Display EC2 credentials details" +msgstr "EC2 kimlik bilgileri detaylarını göster" + +msgid "Display Network QoS rule details" +msgstr "Ağ QoS kural detaylarını göster" + +msgid "Display QoS policy details" +msgstr "QoS politikası ayrıntılarını görüntüle" + +msgid "Display QoS specification details" +msgstr "QoS belirtimi detaylarını göster" + +msgid "Display account details" +msgstr "Hesap detaylarını göster" + +msgid "Display address scope details" +msgstr "Adres kapsam detaylarını göster" + +msgid "Display aggregate details" +msgstr "Küme detaylarını göster" + +msgid "Display backup details" +msgstr "Yedek detaylarını göster" + +msgid "Display configuration details" +msgstr "Yapılandırma detaylarını göster" + +msgid "Display consistency group details." +msgstr "Tutarlılık grubu detaylarını göster." + +msgid "Display consistency group snapshot details" +msgstr "Tutarlılık grubunun anlık görüntüsünü görüntüleme" + +msgid "Display consumer details" +msgstr "Alıcı detaylarını göster" + +msgid "Display container details" +msgstr "Kap detaylarını göster" + +msgid "Display credential details" +msgstr "Kimlik bilgileri detaylarını göster" + +msgid "Display domain details" +msgstr "Alan detaylarını göster" + +msgid "Display encryption information for each volume type (admin only)" +msgstr "Her disk bölümü türü için şifreleme bilgisini göster (sadece yönetici)" + +msgid "Display encryption information of this volume type (admin only)" +msgstr "Bu disk bölümü türünün şifreleme bilgisini göster (sadece yönetici)" + +msgid "Display endpoint details" +msgstr "Uç nokta detaylarını göster" + +msgid "Display federation protocol details" +msgstr "Federasyon protokolü detaylarını göster" + +msgid "Display flavor details" +msgstr "Flavor detaylarını göster" + +msgid "Display floating IP details" +msgstr "Yüzen IP ayrıntılarını görüntüle" + +msgid "Display group details" +msgstr "Grup detaylarını göster" + +msgid "Display host details" +msgstr "Sunucu detaylarını göster" + +msgid "Display hypervisor details" +msgstr "Yönetici ara katman detaylarını göster" + +msgid "Display hypervisor stats details" +msgstr "Yönetici arakatman istatistik detaylarını göster" + +msgid "Display identity provider details" +msgstr "Kimlik sağlayıcı detaylarını göster" + +msgid "Display image details" +msgstr "İmaj detaylarını göster" + +msgid "Display information from all projects (admin only)" +msgstr "Tüm projelerden bilgileri göster (sadece yönetici)" + +msgid "Display key details" +msgstr "Anahtar detaylarını göster" + +msgid "Display mapping details" +msgstr "Eşleşme detaylarını göster" + +msgid "Display meter rules details" +msgstr "Ölçek kuralı detaylarını göster" + +msgid "Display names instead of IDs" +msgstr "ID yerine isimleri göster" + +msgid "Display network RBAC policy details" +msgstr "Ağ RBAC politikası detaylarını göster" + +msgid "Display network agent details" +msgstr "Ağ ajanının ayrıntılarını görüntüle" + +msgid "Display network flavor details" +msgstr "Ağ flavor detaylarını göster" + +msgid "Display network flavor profile details" +msgstr "Ağ flavor profil detaylarını göster" + +msgid "Display network segment details" +msgstr "Ağ dilim detaylarını göster" + +msgid "Display object details" +msgstr "Nesne detaylarını göster" + +msgid "Display policy details" +msgstr "Politika detaylarını göster" + +msgid "Display port details" +msgstr "Bağlantı noktası detaylarını gösterin" + +msgid "Display project details" +msgstr "Proje detaylarını göster" + +msgid "Display region details" +msgstr "Bölge detaylarını göster" + +msgid "Display role details" +msgstr "Rol detaylarını göster" + +msgid "Display router details" +msgstr "Yönlendirici detaylarını göster" + +msgid "Display security group details" +msgstr "Güvenlik grubu detaylarını göster" + +msgid "Display security group rule details" +msgstr "Güvenlik grubu kural detaylarını göster" + +msgid "Display server diagnostics information" +msgstr "Sunucu tanılama bilgilerini göster" + +msgid "Display server group details." +msgstr "Sunucu grup detaylarını göster." + +msgid "Display service catalog details" +msgstr "Servis katalog detaylarını göster" + +msgid "Display service details" +msgstr "Servis detaylarını göster" + +msgid "Display service provider details" +msgstr "Servis sağlayıcı detaylarını göster" + +msgid "Display snapshot details" +msgstr "Anlık görüntü detaylarını göster" + +msgid "Display subnet details" +msgstr "Altağ detaylarını göster" + +msgid "Display subnet pool details" +msgstr "Alt ağ havuz detaylarını göster" + +msgid "Display trust details" +msgstr "Güven detaylarını göster" + +msgid "Display user details" +msgstr "Kullanıcı detaylarını göster" + +msgid "Display volume backup details" +msgstr "Yedek disk bölümü detaylarını göster" + +msgid "Display volume details" +msgstr "Disk bölümü detaylarını göster" + +msgid "Display volume snapshot details" +msgstr "Disk bölümü anlık görüntü detaylarını göster" + +msgid "Display volume type details" +msgstr "Disk bölümü türü detaylarını göster" + +msgid "Do not make the network VLAN transparent" +msgstr "Ağ VLAN'ını transparan yapma" + +msgid "Do not over-commit disk on the destination host (default)" +msgstr "Hedef ana bilgisayarda disk aşırı işleme yapma (varsayılan)" + +msgid "Do not share meter between projects" +msgstr "Ölçümleri projeler arasında paylaşma" + +msgid "Do not share the address scope between projects" +msgstr "Adres kapsamını projeler arasında paylaşmayın" + +msgid "Do not share the address scope between projects (default)" +msgstr "Projeler arasında adres kapsamını paylaşma (varsayılan)" + +msgid "Do not share the network between projects" +msgstr "Ağı projeler arasında paylaşmayın" + +msgid "Do not use the network as the default external network" +msgstr "Ağı varsayılan dış ağ olarak kullanmayın" + +msgid "Do not use the network as the default external network (default)" +msgstr "Ağı varsayılan harici ağ olarak kullanma (varsayılan)" + +msgid "Domain containing (name or ID)" +msgstr "'u içeren alan (isim veya ID)" + +msgid "Domain containing group(s) (name or ID)" +msgstr "Grub(u/ları) içeren alan (isim veya ID)" + +msgid "Domain owning (name or ID)" +msgstr "'ye sahip olan alan (isim veya ID)" + +msgid "Domain owning (name or ID)" +msgstr " kullanıcının ait olduğu alan (isim veya ID)" + +msgid "Domain owning the project (name or ID)" +msgstr "Projenin ait olduğu alan (isim veya ID)" + +msgid "Domain that contains (name or ID)" +msgstr "'yi içeren alan (isim veya ID)" + +msgid "Domain that contains (name or ID)" +msgstr " içeren alan (isim veya ID)" + +msgid "" +"Domain the group belongs to (name or ID). This can be used in case " +"collisions between group names exist." +msgstr "" +"Grubun ait olduğu alan (isim veya ID). Grup isimlerinde bir çatışma olması " +"durumunda kullanılabilir." + +msgid "Domain the project belongs to (name or ID) [only valid with --absolute]" +msgstr "" +"Projenin ait olduğu alan (isim veya ID) [sadece --absolute ile geçerli]" + +msgid "" +"Domain the project belongs to (name or ID). This can be used in case " +"collisions between project names exist." +msgstr "" +"Projenin ait olduğu domain (isim veya ID). Proje isimlerinde çakışma olması " +"durumunda kullanılabilir." + +msgid "Domain the role belongs to (name or ID)" +msgstr "Rolün ait olduğu alan (isim veya ID)" + +msgid "" +"Domain the role belongs to (name or ID). This must be specified when the " +"name of a domain specific role is used." +msgstr "" +"Rolün ait olduğu alan (isim veya ID). Alana özel rol ismi kullanıldığında " +"belirtilmek zorundadır." + +msgid "" +"Domain the target project belongs to (name or ID). This can be used in case " +"collisions between project names exist." +msgstr "" +"Hedef projenin ait olduğu alan (isim veya ID) Bu, proje isimleri arasındaki " +"çakışmaların olması durumunda kullanılabilir." + +msgid "" +"Domain the user belongs to (name or ID). This can be used in case collisions " +"between user names exist." +msgstr "" +"Kullanıcının ait olduğu alan (isim veya ID). Kullanıcı adlarında bir çatışma " +"oluşması durumunda kullanılabilir." + +msgid "" +"Domain to associate with the identity provider. If not specified, a domain " +"will be created automatically. (Name or ID)" +msgstr "" +"Kimlik sağlayıcısı ile ilişkilendirilecek alan adı. Belirtilmemişse, " +"otomatik olarak bir alan oluşturulur. (İsim veya kimlik)" + +msgid "Domain to contain new group (name or ID)" +msgstr "Yeni grup içeren alan (isim veya ID)" + +msgid "Domain to display (name or ID)" +msgstr "Gösterilecek alan (isim veya ID)" + +msgid "Domain to filter (name or ID)" +msgstr "Filtrelenecek alan (isim veya ID)" + +msgid "Domain to modify (name or ID)" +msgstr "Düzenlenecek alan (isim veya ID)" + +msgid "Domain(s) to delete (name or ID)" +msgstr "Silinecek alan(lar) (isim veya ID)" + +msgid "Download from " +msgstr " nesneyi 'dan indir" + +msgid "Download image from an existing URL" +msgstr "Mevcut bir URL'den imajı indir" + +msgid "Downloaded image save filename (default: stdout)" +msgstr "İndirilen imajın kaydedileceği dosya adı (varsayılan: stdout)" + +#, python-format +msgid "" +"ERROR: --%s was given, which is an Image v1 option that is no longer " +"supported in Image v2" +msgstr "HATA: --%s, ancak bu İmaj v1 seçeneğidir ve İmaj v2'de desteklenmiyor" + +#, python-format +msgid "ERROR: No %(type)s IP version %(family)s address found" +msgstr "HATA: Hiç %(type)s IP sürüm %(family)s adresi bulunamadı" + +msgid "Egress traffic direction from the project point of view" +msgstr "Proje açısından trafik akış yönü" + +msgid "Either --driver or --metainfo or both are required" +msgstr "Ya --driver ya da --metainfo veya her ikisi de gereklidir" + +msgid "Enable DHCP" +msgstr "DHCP'yi etkinleştir" + +msgid "Enable DHCP (default)" +msgstr "DHCP etkinleştir (varsayılan)" + +msgid "Enable Source NAT on external gateway" +msgstr "Harici geçit üzerinde Kaynak NAT'ı etkinleştir" + +msgid "Enable domain" +msgstr "Alanı etkinleştir" + +msgid "Enable domain (default)" +msgstr "Alanı etkinleştir (varsayılan)" + +msgid "Enable endpoint" +msgstr "Uç noktayı etkinleştir" + +msgid "Enable endpoint (default)" +msgstr "Uç noktayı etkinleştir (varsayılan)" + +msgid "" +"Enable generic host-based force-migration, which bypasses driver " +"optimizations" +msgstr "" +"Genel anabilgisayar tabanlı sürücü optimizasyonunu atlayan güç göçünü " +"etkinleştir" + +msgid "Enable identity provider (default)" +msgstr "Kimlik sağlayıcıyı etkinleştir (varsayılan)" + +msgid "Enable maintenance mode for the host" +msgstr "Sunucu için bakım kipini etkinleştir" + +msgid "Enable network" +msgstr "Ağı etkinleştir" + +msgid "Enable network (default)" +msgstr "Ağı etkinleştir (varsayılan)" + +msgid "Enable network agent" +msgstr "Ağ ajanını etkinleştir" + +msgid "Enable network flavor" +msgstr "Ağ flavor'ını etkin hale getir" + +msgid "Enable port" +msgstr "Bağlantı noktasını etkinleştir" + +msgid "Enable port (default)" +msgstr "Bağlantı noktasının etkinleştir (varsayılan)" + +msgid "Enable port security by default for ports created on this network" +msgstr "" +"Bu ağda oluşturulan bağlantı noktaları için varsayılan olarak bağlantı " +"noktası güvenlik özelliğini etkinleştir" + +msgid "" +"Enable port security by default for ports created on this network (default)" +msgstr "" +"Bu ağda oluşturulan bağlantı noktaları için varsayılan olarak bağlantı " +"noktası güvenlik özelliğini etkinleştir (varsayılan)" + +msgid "Enable port security for this port" +msgstr "Bu bağlantı noktası için bağlantı noktası güvenliğini etkinleştir" + +msgid "Enable port security for this port (Default)" +msgstr "" +"Bu bağlantı noktası için bağlantı noktası güvenliğini etkinleştir " +"(Varsayılan)" + +msgid "Enable project" +msgstr "Projeyi etkinleştir" + +msgid "Enable project (default)" +msgstr "Projeyi etkinleştir (varsayılan)" + +msgid "Enable router" +msgstr "Yönlendiriciyi etkinleştir" + +msgid "Enable router (default)" +msgstr "Yönlendiriciyi etkinleştir (varsayılan)" + +msgid "Enable service" +msgstr "Servisi etkinleştir" + +msgid "Enable service (default)" +msgstr "Servisi etkinleştir (varsayılan)" + +msgid "Enable the flavor (default)" +msgstr "Flavor'ı etkinleştir (varsayılan)" + +msgid "Enable the flavor profile" +msgstr "Flavor profilini etkinleştir" + +msgid "Enable the host" +msgstr "Sunucuyu etkinleştir" + +msgid "Enable the identity provider" +msgstr "Kimlik sağlayıcıyı etkinleştir" + +msgid "Enable the service provider" +msgstr "Servis sağlayıcıyı etkinleştir" + +msgid "Enable the service provider (default)" +msgstr "Servis sağlayıcıyı etkinleştir (varsayılan)" + +msgid "Enable user (default)" +msgstr "Kullanıcıyı etkinleştir (varsayılan)" + +msgid "Enable volume service" +msgstr "Disk bölümü servisini etkinleştir" + +msgid "End anchor for paging" +msgstr "Sayfalama için sabitleyiciyi sonlandır" + +msgid "" +"Endpoint to display (endpoint ID, service ID, service name, service type)" +msgstr "" +"Gösterilecek uç noktalar (uç nokta ID, servis ID, servis ismi, servis türü)" + +msgid "Endpoint to modify (ID only)" +msgstr "Düzenlenecek uç nokta (sadece ID)" + +msgid "Endpoint(s) to delete (ID only)" +msgstr "Silinecek uç nokta(lar) (sadece ID)" + +msgid "Ephemeral disk size in GB (default 0G)" +msgstr "GB cinsinden geçici disk boyutu (varsayılan 0G)" + +msgid "Error creating server\n" +msgstr "Sunucu oluşturulurken hata\n" + +#, python-format +msgid "Error creating server backup: %s" +msgstr "Sunucu yedeği oluşturulurken hata: %s" + +#, python-format +msgid "Error creating server image: %s" +msgstr "Sunucu imajı oluşturma hatası: %s" + +#, python-format +msgid "Error creating server: %s" +msgstr "Sunucu oluşturma başarısız: %s" + +msgid "Error deleting server\n" +msgstr "Sunucu silinirken hata\n" + +#, python-format +msgid "Error deleting server: %s" +msgstr "Sunucu silinirken hata: %s" + +msgid "Error migrating server\n" +msgstr "Sunucu göçü sırasında hata\n" + +#, python-format +msgid "Error migrating server: %s" +msgstr "Sunucu göçü sırasında hata: %s" + +msgid "Error rebooting server\n" +msgstr "Sunucu yeniden başlatma hatası\n" + +#, python-format +msgid "Error rebooting server: %s" +msgstr "Sunucu yeniden başlatma hatası: %s" + +msgid "Error rebuilding server\n" +msgstr "Sunucu yeniden yapılandırması sırasında hata\n" + +#, python-format +msgid "Error rebuilding server: %s" +msgstr "Sunucu yeniden yapılandırması sırasında hata: %s" + +msgid "Error resizing server\n" +msgstr "Sunucunun yeniden boyutlandırması sırasında hata\n" + +#, python-format +msgid "Error resizing server: %s" +msgstr "Sunucu yeniden boyutlandırma hatası: %s" + +msgid "Error retrieving diagnostics data\n" +msgstr "Teşhis verisi alınırken hata oluştu\n" + +#, python-format +msgid "Error while executing command: %s" +msgstr "Komut çalıştırılırken hata oluştu: %s" + +msgid "" +"Error: If a user or group is specified, either --domain or --project must " +"also be specified to list role grants." +msgstr "" +"Hata: Bir kullanıcı veya grup belirtilmişse, rol izinlerini listelemek için " +"--domain veya --project de belirtilmelidir." + +msgid "" +"Ethertype of network traffic (IPv4, IPv6; default: based on IP protocol)" +msgstr "" +"Ağ trafiğinin ethertype'ı (IPv4, IPv6; varsayılan: IP protokolüne bağlı)" + +#, python-format +msgid "Exclude %s which have all given tag(s) (Comma-separated list of tags)" +msgstr "" +"Verilen tüm etiketlere sahip %s'i hariç tut (Etiketlerin virgül ile ayrılmış " +"listesi)" + +#, python-format +msgid "Exclude %s which have any given tag(s) (Comma-separated list of tags)" +msgstr "" +"Verilen etiketlerden herhangi birine sahip %s'i hariç tut (Etiketlerin " +"virgül ile ayrılmış listesi)" + +msgid "Exclude remote IP prefix from traffic count" +msgstr "Uzak IP önekini trafik sayımından hariç tut" + +msgid "Existing consistency group (name or ID)" +msgstr "Mevcut tutarlılık grubu (isim veya ID)" + +msgid "Existing consistency group snapshot (name or ID)" +msgstr "Varolan tutarlılık grubu anlık görüntüsü (isim veya ID)" + +#, python-format +msgid "" +"Expected '=' or JSON data for option %(option)s, but encountered " +"JSON parsing error: %(error)s" +msgstr "" +"%(option)s seçeneği için '=' veya JSON verisi beklenirken JSON " +"yorumlama hatası oluştu: %(error)s" + +msgid "Extend volume size in GB" +msgstr "GB cinsinden genişletilmiş disk bölümü boyutu" + +msgid "" +"Extension to display. Currently, only network extensions are supported. " +"(Name or Alias)" +msgstr "" +"Gösterilecek uzantı. Şu an sadece ağ uzantıları destekleniyor. (İsim veya " +"Takma ad)" + +msgid "Extensions list not supported by Block Storage API" +msgstr "Blok Depolama API'ı uzantıları listelemeyi desteklemiyor" + +msgid "Extensions list not supported by Compute API" +msgstr "Hesaplama API'ı uzantıların listelemeyi desteklemiyor" + +msgid "Extensions list not supported by Identity API" +msgstr "Kimlik API için uzantıların listlenmesi desteklenmiyor" + +msgid "External Network used as router's gateway (name or ID)" +msgstr "Yönlendirici geçidi olarak kullanılan Harici Ağ (isim veya ID)" + +#, python-format +msgid "Failed to add project %(project)s access to flavor: %(e)s" +msgstr "%(project)s projesinin flavor'a erişimi başarısız: %(e)s" + +#, python-format +msgid "Failed to add project %(project)s access to type: %(e)s" +msgstr "%(project)s projesinin erişiminin şu türe eklenmesi başarısız: %(e)s" + +#, python-format +msgid "Failed to clean snapshot properties: %s" +msgstr "Anlık görüntü özellikleri silinirken hata oluştu: %s" + +#, python-format +msgid "Failed to clean volume properties: %s" +msgstr "Disk bölümü özelliklerini silme başarısız: %s" + +#, python-format +msgid "Failed to clear flavor property: %s" +msgstr "Flavor özelliğinin silinmesi başarısız: %s" + +#, python-format +msgid "Failed to create Network QoS rule: %(e)s" +msgstr "Ağ QoS kuralı oluşturulurken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete %(dresult)s of %(total)s images." +msgstr "%(total)s imajdan %(dresult)s tanesi silinirken hata oluştu." + +#, python-format +msgid "Failed to delete %(resource)s with ID '%(id)s': %(e)s" +msgstr "'%(id)s' ID'li %(resource)s silinemedi: %(e)s" + +#, python-format +msgid "Failed to delete %(resource)s with name or ID '%(name_or_id)s': %(e)s" +msgstr "" +"'%(name_or_id)s' isimli veya ID'li %(resource)s silinirken hata oluştu: %(e)s" + +#, python-format +msgid "" +"Failed to delete EC2 credentials with access key '%(access_key)s': %(e)s" +msgstr "" +"'%(access_key)s' erişim anahtarlı EC2 kullanıcı bilgileri silinemedi: %(e)s" + +#, python-format +msgid "Failed to delete Network QoS rule ID \"%(rule)s\": %(e)s" +msgstr "\"%(rule)s\" Ağ QoS kural ID'si silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete QoS policy name or ID '%(qos_policy)s': %(e)s" +msgstr "" +"'%(qos_policy)s' isim veya ID'li QoS politikası silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete QoS specification with name or ID '%(qos)s': %(e)s" +msgstr "" +"'%(qos)s' isimli veya ID'li QoS özelliklerini silme işlemi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete RBAC policy with ID '%(rbac)s': %(e)s" +msgstr "'%(rbac)s' ID'li RBAC politikası silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete address scope with name or ID '%(scope)s': %(e)s" +msgstr "" +"'%(scope)s' isimli veya ID'li adres kapsamı silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete agent with ID '%(id)s': %(e)s" +msgstr "'%(id)s' ID'li ajanın silinemedi: %(e)s" + +#, python-format +msgid "Failed to delete aggregate with name or ID '%(aggregate)s': %(e)s" +msgstr "'%(aggregate)s' isimli veya ID'li küme silinemedi: %(e)s" + +#, python-format +msgid "Failed to delete backup with name or ID '%(backup)s': %(e)s" +msgstr "'%(backup)s' isimli veya ID'li yedek silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete compute service with ID '%(service)s': %(e)s" +msgstr "'%(service)s' ID'li hesaplama servisini silme işlemi başarısız: %(e)s" + +#, python-format +msgid "" +"Failed to delete consistency group snapshot with name or ID '%(snapshot)s': " +"%(e)s" +msgstr "" +"'%(snapshot)s' isim veya ID'li tutarlılık grubu anlık görüntülerini silme " +"işlemi başarısız: %(e)s" + +#, python-format +msgid "" +"Failed to delete consistency group with name or ID '%(consistency_group)s':" +"%(e)s" +msgstr "" +"'%(consistency_group)s' isim veya ID'li tutarlılık grubunu silerken hata " +"oluştu:%(e)s" + +#, python-format +msgid "Failed to delete consumer with name or ID '%(consumer)s': %(e)s" +msgstr "'%(consumer)s' ismi ve ID'si ile alıcılar silinirken hata: %(e)s" + +#, python-format +msgid "Failed to delete consumer with type, name or ID '%(service)s': %(e)s" +msgstr "" +"'%(service)s' türlü, isimli veya ID'li alıcı silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete credentials with ID '%(credential)s': %(e)s" +msgstr "'%(credential)s' ID'li kimlik bilgileri silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete domain with name or ID '%(domain)s': %(e)s" +msgstr "'%(domain)s' isimli veya ID'li alan silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete endpoint with ID '%(endpoint)s': %(e)s" +msgstr "'%(endpoint)s' ID'li uç noktanın silinmesi başarısız: %(e)s" + +#, python-format +msgid "" +"Failed to delete federation protocol with name or ID '%(protocol)s': %(e)s" +msgstr "" +"'%(protocol)s' isimli veya ID'li federasyon protokolü silinirken hata " +"oluştu: %(e)s" + +#, python-format +msgid "Failed to delete flavor profile with ID '%(flavor_profile)s': %(e)s" +msgstr "" +"'%(flavor_profile)s' ID'li flavor profili silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete flavor with name or ID '%(flavor)s': %(e)s" +msgstr "'%(flavor)s' isimli veya ID'li flavor'ı silme işlemi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete group with name or ID '%(group)s': %(e)s" +msgstr "'%(group)s' isimli veya ID'li grup silinirken hata oluştu: %(e)s" + +#, python-format +msgid "" +"Failed to delete identity providers with name or ID '%(provider)s': %(e)s" +msgstr "" +"'%(provider)s' isim veya ID'li kimlik sağlayıcılar silinirken hata oluştur: " +"%(e)s" + +#, python-format +msgid "Failed to delete image with name or ID '%(image)s': %(e)s" +msgstr "'%(image)s' isimli veya ID'li imaj silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete key with name '%(name)s': %(e)s" +msgstr "'%(name)s' isimli anahtarın silinmesi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete mapping with name or ID '%(mapping)s': %(e)s" +msgstr "" +"%(mapping)s' isimli veya ID'li eşleştirme silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete meter rule with ID '%(id)s': %(e)s" +msgstr "'%(id)s' ID'li ölçüm kuralını silme işlemi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete meter with ID '%(meter)s': %(e)s" +msgstr "'%(meter)s' ID'li ölçek silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete network agent with ID '%(agent)s': %(e)s" +msgstr "'%(agent)s' ID'li ağ ajanının silinmesi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete network segment with ID '%(network_segment)s': %(e)s" +msgstr "'%(network_segment)s' ID'li ağ dilimleri silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete policy with name or ID '%(policy)s': %(e)s" +msgstr "'%(policy)s' isimli veya ID'li politika silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete port with name or ID '%(port)s': %(e)s" +msgstr "" +"'%(port)s' isimli veya ID'li bağlantı noktası silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete project with name or ID '%(project)s': %(e)s" +msgstr "'%(project)s' isimli veya ID'li projeyi silme işlemi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete region with ID '%(region)s': %(e)s" +msgstr "'%(region)s' ID'li bölge silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete role with name or ID '%(role)s': %(e)s" +msgstr "'%(role)s' isim veya ID'li rolün silme işlemi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete router with name or ID '%(router)s': %(e)s" +msgstr "" +"'%(router)s' isimli veya ID'li yönlendiriciyi silme işlemi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete service provider with name or ID '%(provider)s': %(e)s" +msgstr "" +"'%(provider)s' isimli veya ID'li servis sağlayıcıyı silme işlemi başarısız: " +"%(e)s" + +#, python-format +msgid "Failed to delete service with name or ID '%(service)s': %(e)s" +msgstr "'%(service)s' isimli veya ID'li servisi silme başarısız: %(e)s" + +#, python-format +msgid "Failed to delete snapshot with name or ID '%(snapshot)s': %(e)s" +msgstr "" +"'%(snapshot)s' isimli veya ID'li anlık görüntüyü silme başarısız: %(e)s" + +#, python-format +msgid "Failed to delete subnet pool with name or ID '%(pool)s': %(e)s" +msgstr "" +"'%(pool)s' isimli veya ID'li altağ havuzu silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete subnet with name or ID '%(subnet)s': %(e)s" +msgstr "'%(subnet)s' isim veya ID'li altağı silerken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to delete trust with name or ID '%(trust)s': %(e)s" +msgstr "" +"'%(trust)s' ismine veya ID'sine sahip güvenin silinmesi başarısız: %(e)s" + +#, python-format +msgid "Failed to delete user with name or ID '%(user)s': %(e)s" +msgstr "'%(user)s' isimli veya ID'li kullanıcının silinmesi başarısız: %(e)s" + +#, python-format +msgid "" +"Failed to delete volume transfer request with name or ID '%(transfer)s': " +"%(e)s" +msgstr "" +"'%(transfer)s' isimli veya ID'li disk bölümü aktarım isteği silinirken hata " +"oluştu: %(e)s" + +#, python-format +msgid "Failed to delete volume type with name or ID '%(volume_type)s': %(e)s" +msgstr "" +"'%(volume_type)s' isimli veya ID'li disk bölümü türünü silerken hata oluştu: " +"%(e)s" + +#, python-format +msgid "Failed to delete volume with name or ID '%(volume)s': %(e)s" +msgstr "" +"'%(volume)s' isimli veya ID'li disk bölümü silinirken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to display the encryption information of this volume type: %s" +msgstr "Bu disk bölümü türü için şifreleme bilgisini gösterme başarısız: %s" + +#, python-format +msgid "Failed to find volume with name or ID '%(volume)s':%(e)s" +msgstr "'%(volume)s' isimli veya ID'li disk bölümü bulunamadı: %(e)s" + +#, python-format +msgid "Failed to get access project list for volume type %(type)s: %(e)s" +msgstr "" +"%(type)s disk bölümü türür için proje listesine erişim sağlama başarısız: " +"%(e)s" + +#, python-format +msgid "Failed to get access projects list for flavor '%(flavor)s': %(e)s" +msgstr "" +"'%(flavor)s' flavor için erişen projelerin listesinin alınma işlemi " +"başarısız: %(e)s" + +msgid "Failed to get an image file." +msgstr "İmaj dosyası alma başarısız." + +#, python-format +msgid "Failed to remove flavor access from project: %s" +msgstr "Projeden flavor erişiminin kaldırılması başarısız: %s" + +#, python-format +msgid "Failed to remove the encryption type for this volume type: %s" +msgstr "Bu disk bölümü türü için şifreleme türünü silme başarısız: %s" + +#, python-format +msgid "Failed to remove volume type access from project: %s" +msgstr "Projeden disk bölümü türü erişimi kaldırılırken hata oluştu: %s" + +msgid "Failed to retrieve extensions list from Network API" +msgstr "Ağ API'ından uzantı listesinin alınması başarısız" + +#, python-format +msgid "Failed to set Network QoS rule ID \"%(rule)s\": %(e)s" +msgstr "\"%(rule)s\" Ağ QoS kural ID'sini ayarlarken hata oluştu: %(e)s" + +#, python-format +msgid "Failed to set backup state: %s" +msgstr "Yedek durumunu ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set encryption information for this volume type: %s" +msgstr "Bu disk bölümü türü için şifreleme bilgisini ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set flavor access to project: %s" +msgstr "Projeye flavor erişiminin ayarlanması başarısız: %s" + +#, python-format +msgid "Failed to set flavor property: %s" +msgstr "Flavor özelliğinin ayarlanması başarısız: %s" + +#, python-format +msgid "Failed to set image property: %s" +msgstr "İmaj özelliği ayarlarken hata oluştu: %s" + +#, python-format +msgid "Failed to set snapshot property: %s" +msgstr "Anlık görüntü özelliğini ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set snapshot state: %s" +msgstr "Anlık görüntü durumunu ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set volume bootable property: %s" +msgstr "Disk bölümü ön yükleme özelliği ayarlanırken hata oluştu: %s" + +#, python-format +msgid "Failed to set volume property: %s" +msgstr "Disk özelliklerini ayarlama işlemi başarısız: %s" + +#, python-format +msgid "Failed to set volume read-only access mode flag: %s" +msgstr "Disk bölümü salt okunur erişim kipi bayrağı ayarlanamadı: %s" + +#, python-format +msgid "Failed to set volume size: %s" +msgstr "Disk bölümü boyutunu ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set volume state: %s" +msgstr "Disk bölümü durumunu ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set volume type access to project: %s" +msgstr "Projeye erişim için disk bölümü türü ayarlama başarısız: %s" + +#, python-format +msgid "Failed to set volume type property: %s" +msgstr "Disk bölümü türü özelliğini ayarlarken hata oluştu: %s" + +#, python-format +msgid "Failed to set volume type: %s" +msgstr "Disk bölümü türü ayarlanırken hata oluştu: %s" + +#, python-format +msgid "Failed to unset %(propret)s of %(proptotal)s properties." +msgstr "" +"%(proptotal)s özellikten %(propret)s özelliğin ayarının kaldırılması " +"başarısız." + +#, python-format +msgid "" +"Failed to unset %(tagret)s of %(tagtotal)s tags,Failed to unset %(propret)s " +"of %(proptotal)s properties." +msgstr "" +"%(tagtotal)s etiketten %(tagret)s tanesinin ayarlarını kaldırmak başarısız, " +"%(proptotal)s özellikten %(propret)s özelliğin ayarının kaldırılması " +"başarısız." + +#, python-format +msgid "Failed to unset %(tagret)s of %(tagtotal)s tags." +msgstr "" +"%(tagtotal)s etiketin %(tagret)s tanesinin ayarının kaldırılması başarısız" + +#, python-format +msgid "Failed to unset flavor property: %s" +msgstr "Flavor özelliğini kaldırma işlemi başarısız: %s" + +#, python-format +msgid "Failed to unset image property: %s" +msgstr "İmaj özelliği ayarını kaldırma başarısız: %s" + +#, python-format +msgid "Failed to unset volume property: %s" +msgstr "Disk bölümü özelliği ayarlarını kaldırma başarısız: %s" + +#, python-format +msgid "Failed to unset volume type property: %s" +msgstr "Disk bölümü türü özelliğini kaldırma işlemi başarısız: %s" + +#, python-format +msgid "Failed to update backup name or description: %s" +msgstr "Yedek ismi ve açıklaması güncellenirken hata oluştu: %s" + +#, python-format +msgid "Failed to update snapshot display name or display description: %s" +msgstr "" +"Anlık görüntü görünür ismi veya görünür açıklamasını güncelleme işlemi " +"başarısız: %s" + +#, python-format +msgid "Failed to update snapshot name or description: %s" +msgstr "Anlık görüntü adı veya açıklaması güncellenemedi: %s" + +#, python-format +msgid "Failed to update volume display name or display description: %s" +msgstr "" +"Disk bölümü gösterim ismi veya gösterim açıklamasını güncelleme başarısız: %s" + +#, python-format +msgid "Failed to update volume type name or description: %s" +msgstr "Disk bölümü türü ismi veya açıklaması güncellenirken hata oluştu: %s" + +msgid "Failover volume host to different backend" +msgstr "Disk bölümü anabilgisayarını başka arka yüze devret" + +msgid "Federation protocol to display (name or ID)" +msgstr "Gösterilecek federasyon protokolü (isim veya ID)" + +msgid "Federation protocol to modify (name or ID)" +msgstr "Düzenlenecek federasyon protokolü (isim veya ID)" + +msgid "Federation protocol(s) to delete (name or ID)" +msgstr "Silinecek federasyon protokol(ü/leri) (isim veya ID)" + +msgid "" +"File to inject into image before boot (repeat option to set multiple files)" +msgstr "" +"Önyüklemeden önce imaja enjekte etmek için dosya (birden çok dosyayı " +"ayarlamak için seçeneği tekrar edin)" + +msgid "" +"Filename for private key to save. If not used, print private key in console." +msgstr "" +"Kapalı anahtarın kaydedileceği dosyanın ismi. Kullanılmazsa, kapalı anahtar " +"konsola basılır." + +msgid "Filename for public key to add. If not used, creates a private key." +msgstr "" +"Eklenecek açık anahtarın dosya ismi. Kullanılmazsa, bir kapalı anahtar " +"oluşturur." + +msgid "Filename that contains a new set of mapping rules" +msgstr "Eşleşme kurallarının yeni bir kümesini içeren dosya adı" + +msgid "Filename that contains a set of mapping rules (required)" +msgstr "Eşleştirme kuralları kümesi içeren dosya adı (gerekli)" + +msgid "Filter by interface type (admin, public or internal)" +msgstr "Arayüz türüne göre filtrele (yönetici, genele açık veya dahili)" + +msgid "Filter by parent region ID" +msgstr "Üst bölge ID'sine göre filtrele" + +msgid "Filter by region ID" +msgstr "Bölge ID'sine göre filtrele" + +msgid "Filter by service (type, name or ID)" +msgstr "Servise göre filtrele (tür, isim veya ID)" + +msgid "Filter credentials by (name or ID)" +msgstr "Kimlik bilgilerini 'ya göre filtrele (isim veya ID)" + +msgid "Filter credentials by type: cert, ec2" +msgstr "Kimlik bilgilerinin türe göre filtrele: cert, ec2" + +msgid "Filter group list by (name or ID)" +msgstr "Grup listesini 'e göre filtrele (isim veya ID)" + +msgid "Filter group list by (name or ID)" +msgstr "'ya göre grup listesini filtrele (isim veya ID)" + +msgid "Filter hypervisors using substring" +msgstr "" +" alt karakter dizisini kullanarak yönetici arakatmanları filtrele" + +msgid "Filter images based on name." +msgstr "İmajları isme göre filtrele." + +msgid "Filter images based on status." +msgstr "İmajları duruma göre filtrele." + +msgid "Filter list by user (name or ID)" +msgstr "Listeyi kullanıcıya göre filtrele (isim veya ID)" + +msgid "Filter list using " +msgstr " kullanarak listeyi filtrele" + +msgid "Filter output based on property" +msgstr "Çıktıyı özelliğe göre filtrele" + +msgid "Filter projects by (name or ID)" +msgstr "Projeleri 'e göre filtrele (isim veya ID)" + +msgid "Filter projects by (name or ID)" +msgstr "Projeleri 'ya göre filtrele (isim veya ID)" + +msgid "Filter results by project (name or ID) (admin only)" +msgstr "Sonuçları projeye göre filtrele (isim veya ID) (sadece yönetici)" + +msgid "Filter results by status" +msgstr "Sunuçları duruma göre filtrele" + +msgid "Filter results by user (name or ID) (admin only)" +msgstr "Sonuçları kullanıcıya göre filtrele (isim veya ID) (sadece yönetici)" + +msgid "Filter results by volume name" +msgstr "Sonuçları disk bölümü ismine göre filtrele" + +msgid "Filter roles by (name or ID)" +msgstr "Rolleri 'ye göre filtrele (isim veya ID)" + +msgid "Filter roles by (name or ID)" +msgstr "Rolleri 'ya göre filtrele (isim veya ID)" + +msgid "Filter users by (name or ID)" +msgstr "Kullanıcıları 'e göre filtrele (isim veya ID)" + +msgid "Filter users by membership (name or ID)" +msgstr " üyeliğine göre kullanıcıları filtrele (isim veya ID)" + +msgid "Filter users by (name or ID)" +msgstr "Kullanıcıları 'ye göre filtrele (isim veya ID)" + +msgid "Filter users by project (name or ID)" +msgstr "Kullanıcıları projeye göre filtrele (isim veya ID)" + +msgid "Filters results by a consistency group (name or ID)" +msgstr "Bir tutarlılık grubuna göre sonuçları filtrele (isim veya ID)" + +msgid "Filters results by a name." +msgstr "Bir isme göre sonuçları filtrele." + +msgid "" +"Filters results by a status (\"available\", \"error\", \"creating\", " +"\"deleting\" or \"error_deleting\")" +msgstr "" +"Sonuçları bir duruma göre filtrele (\"available\", \"error\", \"creating\", " +"\"deleting\" veya \"error_deleting\")" + +msgid "" +"Filters results by a status. ('available', 'error', 'creating', 'deleting' " +"or 'error-deleting')" +msgstr "" +"Bir duruma göre sonuçları filtrele. ('kullanılabilir', 'hata', " +"'oluşturuluyor', 'siliniyor' veya 'silinirken hata')" + +msgid "Filters results by a volume (name or ID)." +msgstr "Bir disk bölümüne göre sonuçları filtrele (isim veya ID)." + +msgid "Filters results by the backup name" +msgstr "Yedek ismine göre sonuçları listele" + +msgid "" +"Filters results by the backup status ('creating', 'available', 'deleting', " +"'error', 'restoring' or 'error_restoring')" +msgstr "" +"Yedek durumuna göre sonuçları filtrele ('oluşturuluyor', 'kullanılabilir', " +"'siliniyor', 'hata' veya 'geri yüklenirken hata')" + +msgid "Filters results by the volume which they backup (name or ID)" +msgstr "Yedeklenen disk bölümüne göre sonuçları filtrele (isim veya ID)" + +msgid "Fixed IP address mapped to the floating IP" +msgstr "Sabit IP adres yüzen IP adresi ile eşleşti" + +msgid "Fixed IP address to associate with this floating IP address" +msgstr "Bu kayan IP adresi ile ilişkili sabit IP adresi" + +msgid "Fixed IP address to remove from the server (IP only)" +msgstr "Sunucudan kaldırılacak sabit IP adresi (sadece IP)" + +msgid "Fixed IP of the port (required only if port has multiple IPs)" +msgstr "" +"Bağlantı noktasının sabit IP'si (yalnızca bağlantı noktası birden fazla IP " +"bulunduğunda gereklidir)" + +msgid "Flavor is available to other projects (default)" +msgstr "Flavor diğer projeler için kullanılabilirdir (varsayılan)" + +msgid "Flavor is not available to other projects" +msgstr "Flavor diğer projelerde kullanılabilir değildir" + +msgid "Flavor profile to display (ID only)" +msgstr "Gösterilecek flavor profili (sadece ID)" + +msgid "Flavor profile to update (ID only)" +msgstr "Güncellenecek flavor profili (sadece ID)" + +msgid "Flavor profile(s) to delete (ID only)" +msgstr "Silinecek flavor profilleri (sadece ID)" + +msgid "Flavor to display (name or ID)" +msgstr "Gösterilecek flavor (isim veya ID)" + +msgid "Flavor to modify (name or ID)" +msgstr "Düzenlenecek flavor (isim veya ID)" + +msgid "Flavor to update (name or ID)" +msgstr "Güncellenecek flavor (isim veya ID)" + +msgid "Flavor(s) to delete (name or ID)" +msgstr "Silinecek flavor(lar) (isim veya ID)" + +msgid "Floating IP address" +msgstr "Yüzen IP adresi" + +msgid "Floating IP address to assign to server (IP only)" +msgstr "Sunucuya atanacak kayan IP adresi (sadece IP)" + +msgid "Floating IP address to remove from server (IP only)" +msgstr "Sunucudan kaldırılacak kayan IP adresi (sadece IP)" + +msgid "Floating IP to associate (IP address or ID)" +msgstr "İlişkilendirilecek yüzen IP adresi (IP adres veya ID)" + +msgid "Floating IP to disassociate (IP address or ID)" +msgstr "Bağlantıyı kesmek için kayan IP (IP adresi veya kimliği)" + +msgid "Floating IP to display (IP address or ID)" +msgstr "Görüntülenecek kayan IP (IP adresi veya kimliği)" + +msgid "Floating IP(s) to delete (IP address or ID)" +msgstr "Silinecek yüzen IP(ler) (IP adres veya ID)" + +msgid "Floating ip pool operations are only available for Compute v2 network." +msgstr "" +"Yüzen IP havuz işlemleri sadece Hesaplama v2 ağı için kullanılabilirdir." + +msgid "Force down service" +msgstr "Servisi durmaya zorla" + +msgid "Force image change if volume is in use (only meaningful with --volume)" +msgstr "" +"Disk bölümü kullanımda ise imajı değişmeye zorla (sadece --volume ile " +"anlamlıdır)" + +msgid "" +"Force image creation if volume is in use (only meaningful with --volume)" +msgstr "" +"Disk bölümü kullanımda ise imaj oluşturmaya zorla (sadece --volume ile " +"anlamlıdır)" + +msgid "Force up service" +msgstr "Servisi açılmaya zorla" + +msgid "Freeze and disable the specified volume host" +msgstr "Belirtilen disk bölümü sunucusunu dondur ve devre dışı bırak" + +msgid "Group containing (name or ID)" +msgstr "'ı içeren grup (isim veya ID)" + +msgid "Group to check (name or ID)" +msgstr "Kontrol edilecek grup (isim veya ID)" + +msgid "Group to contain (name or ID)" +msgstr "'ı içeren grup (isim veya ID)" + +msgid "Group to display (name or ID)" +msgstr "Gösterilecek grup (isim veya ID)" + +msgid "Group to filter (name or ID)" +msgstr "Filtrelenecek grup (isim veya ID)" + +msgid "Group to modify (name or ID)" +msgstr "Düzenlenecek grup (isim veya ID)" + +msgid "Group(s) to delete (name or ID)" +msgstr "Silinecek grup(lar) (isim veya ID)" + +msgid "Helper class capable of reading rules from files" +msgstr "Yardımcı sınıf kuralları dosyadan okuyabilir" + +msgid "Hints for the scheduler (optional extension)" +msgstr "Zamanlayıcı için ipuçları (isteğe bağlı eklenti)" + +msgid "Host to add to " +msgstr " için eklenecek sunucu" + +msgid "Host to modify (name only)" +msgstr "Düzenlenecek sunucu (isim sadece)" + +msgid "Host to remove from " +msgstr "'den kaldırılacak sunucu" + +msgid "Hypervisor to display (name or ID)" +msgstr "Gösterilecek yönetici arakatman (isim veya ID)" + +msgid "ICMP IP protocol required with arguments --icmp-type and --icmp-code" +msgstr "" +"ICMP IP protokolü --icmp-type ve --icmp-code argümanları ile zorunludur" + +msgid "ICMP code for ICMP IP protocols" +msgstr "ICMP IP protokolleri için ICMP kodu" + +msgid "ICMP type for ICMP IP protocols" +msgstr "ICMP IP protokolü için ICMP türü" + +msgid "ID of agent(s) to delete" +msgstr "Silinecek ajanların ID'si" + +msgid "ID of credential to change" +msgstr "Değiştirilecek kimlik bilgilerinin ID'si" + +msgid "ID of credential to display" +msgstr "Gösterilecek kimlik bilgilerinin ID'si" + +msgid "ID of credential(s) to delete" +msgstr "Silinecek kimlik bilgilerinin ID'si" + +msgid "ID of kernel image used to boot this disk image" +msgstr "Bu disk imajını ön yüklemek için kullanılan çekirdek imajının kimliği" + +msgid "ID of ramdisk image used to boot this disk image" +msgstr "Bu disk imajını önyüklemek için kullanılan ramdisk imajının kimliği" + +msgid "ID of server instance used to create this image" +msgstr "Bu imajı oluşturmak için kullanılan sunucu örneği kimliği" + +msgid "ID of the agent" +msgstr "Ajanın ID'si" + +msgid "IP address to add to server (name only)" +msgstr "Sunucuya eklenecek IP adresi (sadece isim)" + +msgid "IP address to remove from server (name only)" +msgstr "Sunucudan kaldırılacak IP adresi (sadece isim)" + +msgid "" +"IP protocol (ah, dccp, egp, esp, gre, icmp, igmp, ipv6-encap, ipv6-frag, " +"ipv6-icmp, ipv6-nonxt, ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, tcp, " +"udp, udplite, vrrp and integer representations [0-255]; default: tcp)" +msgstr "" +"IP protokolü (ah, dccp, egp, esp, gre, icmp, igmp, ipv6-encap, ipv6-frag, " +"ipv6-icmp, ipv6-nonxt, ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, tcp, " +"udp, udplite, vrrp ve tam sayı gösterimi [0-255]; varsayılan: tcp)" + +msgid "IP protocol (icmp, tcp, udp; default: tcp)" +msgstr "IP protokolü (icmp, tcp, udp; varsayılan: tcp)" + +msgid "IP version (default is 4)" +msgstr "IP sürümü (varsayılan 4)" + +msgid "" +"IP version (default is 4). Note that when subnet pool is specified, IP " +"version is determined from the subnet pool and this option is ignored." +msgstr "" +"IP sürümü (varsayılan 4). Alt ağ havuzu belirtildiğinde, IP sürümü alt ağ " +"havuzundan belirlenir ve bu seçenek göz ardı edilir." + +msgid "IPv4 subnet for fixed IPs (in CIDR notation)" +msgstr "Sabit IP'ler için IPv4 alt ağı (CIDR gösteriminde)" + +msgid "" +"IPv6 RA (Router Advertisement) mode, valid modes: [dhcpv6-stateful, dhcpv6-" +"stateless, slaac]" +msgstr "" +"IPv6 (Yönlendirici İlanı) kipi, geçerli kipler: [dhcpv6-stateful, dhcpv6-" +"stateless, slaac]" + +msgid "" +"IPv6 address mode, valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]" +msgstr "" +"IPv6 adres kipi, geçerli kipler: [dhcpv6-stateful, dhcpv6-stateless, slaac]" + +#, python-format +msgid "Identity API version, default=%s (Env: OS_IDENTITY_API_VERSION)" +msgstr "Kimlik API sürümü, varsayılan=%s (Env: OS_IDENTITY_API_VERSION)" + +msgid "" +"Identity provider that supports (name or ID) (required)" +msgstr "" +"'ü destekleyen kimlik sağlayıcı (isim veya ID) (gerekli)" + +msgid "" +"Identity provider that will support the new federation protocol (name or " +"ID) (required)" +msgstr "" +"Yeni federasyon protokolünü destekleyecek kimlik sağlayıcı (isim veya ID) " +"(gerekli)" + +msgid "Identity provider to display" +msgstr "Gösterilecek kimlik sağlayıcı" + +msgid "Identity provider to list (name or ID) (required)" +msgstr "Listelenecek kimlik sağlayıcı (isim veya ID) (gerekli)" + +msgid "Identity provider to modify" +msgstr "Düzenlenecek kimlik sağlayıcıları" + +msgid "Identity provider(s) to delete" +msgstr "Silinecek kimlik sağlayıcı(lar)" + +msgid "" +"If specified, the volume state will be locked and will not allow a migration " +"to be aborted (possibly by another operation)" +msgstr "" +"Belirtilirse, disk bölümü durumu kilitlenir ve geçiş işleminin iptal " +"edilmesine izin vermeyecektir (muhtemelen başka bir işlemle)" + +msgid "" +"If specified, the volume state will not be locked and the a migration can be " +"aborted (default) (possibly by another operation)" +msgstr "" +"Belirtilirse, disk bölümü durumu kilitlenmez ve bir taşıma işlemi iptal " +"edilebilir (varsayılan) (muhtemelen başka bir işlemle)" + +msgid "If topology exists returns the topology's information (Default)" +msgstr "Topoloji var ise, topolojinin bilgisini döndürür (Varsayılan)" + +#, python-format +msgid "Image %(id)s was %(status)s." +msgstr "%(id)s imaj %(status)s idi." + +#, python-format +msgid "Image API version, default=%s (Env: OS_IMAGE_API_VERSION)" +msgstr "İmaj API sürümü, öntanımlı=%s (Env: OS_IMAGE_API_VERSION)" + +msgid "Image ID to reserve" +msgstr "Ayrılacak imaj ID'si" + +msgid "Image can be shared" +msgstr "İmaj paylaşılabilir" + +#, python-format +msgid "" +"Image container format. The supported options are: %(option_list)s. The " +"default format is: %(default_opt)s" +msgstr "" +"İmaj kap biçemi. Desteklenen seçenekler: %(option_list)s. Varsayılan biçem: " +"%(default_opt)s" + +#, python-format +msgid "Image container format. The supported options are: %s" +msgstr "İmaj kap biçimi. Desteklenen seçenekler: %s" + +#, python-format +msgid "Image disk format. The supported options are: %s" +msgstr "İmaj disk biçimi. Desteklenen seçenekler: %s" + +#, python-format +msgid "Image disk format. The supported options are: %s." +msgstr "İmaj disk biçemi. Desteklenen seçenekler: %s." + +#, python-format +msgid "" +"Image disk format. The supported options are: %s. The default format is: raw" +msgstr "" +"İmaj disk biçemi. Desteklenen seçenekler: %s. Varsayılan biçem: işlem " +"görmemiş" + +msgid "Image hash used for verification" +msgstr "Doğrulama için kullanılan imaj özeti" + +msgid "Image is accessible to the community" +msgstr "İmaj topluluk tarafından erişilebilir" + +msgid "Image is accessible to the public" +msgstr "İmaj genele açıktır" + +msgid "Image is inaccessible to the public (default)" +msgstr "İmaj genele açık değildir (varsayılan)" + +msgid "Image size, in bytes (only used with --location and --copy-from)" +msgstr "" +"İmaj boyutu, bayt cinsinden (sadece --location ve --copy-from ile kullanılır)" + +msgid "Image to display (name or ID)" +msgstr "Görüntülenecek imaj (ad veya kimlik)" + +msgid "Image to modify (name or ID)" +msgstr "Düzenlenecek imaj (isim veya ID)" + +msgid "Image to save (name or ID)" +msgstr "Kaydedilecek imaj (isim veya ID)" + +msgid "Image to share (name or ID)" +msgstr "Paylaşılacak imaj (isim veya ID)" + +msgid "Image to unshare (name or ID)" +msgstr "Paylaşımdan kaldırılacak imaj (isim veya ID)" + +msgid "Image(s) to delete (name or ID)" +msgstr "Silinecek imaj(lar) (isim veya ID)" + +msgid "Include (name or ID)" +msgstr "'i içer (isim veya ID)" + +msgid "Include (name or ID)" +msgstr "'u içer (isim veya ID)" + +msgid "Include (name or ID)" +msgstr " dahil et (isim veya ID)" + +msgid "Include (name or ID)" +msgstr " dahil et (isim veya ID)" + +msgid "Include all projects (admin only)" +msgstr "Tüm projeleri dahil et (sadece yönetici)" + +msgid "Include remote IP prefix from traffic count (default)" +msgstr "Trafik sayımından uzak IP önekini ekle (varsayılan)" + +msgid "Include reservations count [only valid with --absolute]" +msgstr "Rezervasyon sayısını ekle [sadece --absolute ile geçerlidir]" + +msgid "" +"Incorrect set of arguments provided. See openstack --help for more details" +msgstr "" +"Yanlış argüman kümesi girildi. Daha fazla detay için openstack --help " +"komutunun çıktısına bakınız" + +msgid "Ingress traffic direction from the project point of view" +msgstr "Projenin bakış açısından gelen trafik yönü" + +#, python-format +msgid "Invalid argument %s, characters ',' and '=' are not allowed" +msgstr "%s geçersiz değişken, ',' ve '=' karakterlerine izin verilmiyor" + +#, python-format +msgid "Invalid changes-since value: %s" +msgstr "Geçersiz değişiklikler-şu değerden beri:%s" + +#, python-format +msgid "" +"Invalid nic argument '%s'. Nic arguments must be of the form --nic ." +msgstr "" +"Geçersiz '%s' nic argümanı, Nic argümanları --nic biçiminde olmalıdır." + +msgid "Issue new token" +msgstr "Yeni jeton yayınla" + +#, python-format +msgid "Key file %(private_key)s can not be saved: %(exception)s" +msgstr "%(private_key)s anahtar dosyası kaydedilemedi: %(exception)s" + +#, python-format +msgid "Key file %(public_key)s not found: %(exception)s" +msgstr "%(public_key)s anahtar dosyası bulunamadı: %(exception)s" + +msgid "Keypair to inject into this server (optional extension)" +msgstr "Bu sunucuya enjekte etmek için anahtarlık (isteğe bağlı uzantı)" + +msgid "Label to associate with this metering rule (name or ID)" +msgstr "Bu ölçüm kuralı ile ilişkili etiket (isim veya ID)" + +msgid "Limit the number of containers returned" +msgstr "İade edilen kap sayısını sınırla" + +msgid "Limit the number of objects returned" +msgstr "Döndürülen nesnelerin sayısını sınırla" + +#, python-format +msgid "List %s which have all given tag(s) (Comma-separated list of tags)" +msgstr "" +"Verilen tüm etiketlere sahip olan %s'i listele (Virgül ile ayrılmış etiket " +"listesi)" + +#, python-format +msgid "List %s which have any given tag(s) (Comma-separated list of tags)" +msgstr "" +"Verilen tüm etiketlere sahip olan %s'i listele (Virgül ile ayrılmış etiket " +"listesi)" + +msgid "List API extensions" +msgstr "API uzantılarını listele" + +msgid "List EC2 credentials" +msgstr "EC2 kimlik bilgilerini listele" + +msgid "List IP availability for network" +msgstr "Ağ için IP kullanılabilirliğini listele" + +msgid "List IP availability of given IP version networks (default is 4)" +msgstr "" +"Verilen IP sürüm ağlarının IP kullanılabilirliğini listele (varsayılan sürüm " +"4)" + +msgid "List IP availability of given project (name or ID)" +msgstr "Verilen projenin IP kullanılabilirliğini listeleyin (isim veya ID)" + +msgid "List Network QoS rules" +msgstr "Ağ QoS kurallarını listele" + +msgid "List QoS policies" +msgstr "QoS politikaları listesi" + +msgid "List QoS rule types" +msgstr "QoS kural türlerini listele" + +msgid "List QoS specifications" +msgstr "QoS özelliklerini listele" + +msgid "List Service Providers" +msgstr "Servis Sağlayıcıları listele" + +msgid "List a project's resources" +msgstr "Bir projenin kaynaklarını listele" + +msgid "List accessible domains" +msgstr "Erişilebilir alanları listele" + +msgid "List accessible projects" +msgstr "Erişilebilir projeleri listele" + +msgid "List additional fields in output" +msgstr "Çıktıdaki ek alanları listele" + +msgid "List address scopes" +msgstr "Adres kapsamlarını listele" + +msgid "List address scopes according to their project (name or ID)" +msgstr "Adres kapsamlarını projelerine göre listele (ad veya kimlik)" + +msgid "List address scopes not shared between projects" +msgstr "Projeler arasında paylaşılmayan adres kapsamlarını listele" + +msgid "List address scopes of given IP version networks (4 or 6)" +msgstr "Verilen IP sürüm ağlarının adres kapsamlarını listele (4 veya 6)" + +msgid "List address scopes shared between projects" +msgstr "Projeler arasında paylaşılan adres kapsamlarını listele" + +msgid "List agents hosting a network (name or ID)" +msgstr "Bir ağa ev sahipliği yapan ajanları listele (isim veya ID)" + +msgid "List agents hosting this router (name or ID)" +msgstr "Bu yönlendiriciyi barındıran ajanları listele (isim veya ID)" + +msgid "List all aggregates" +msgstr "Tüm kümeleri listele" + +msgid "List all containers (default is 10000)" +msgstr "Tüm kapları listlele (varsayılan 10000)" + +msgid "List all flavors, whether public or private" +msgstr "Herkese açık veya gizli bütün flavorları listele" + +msgid "List all objects in container (default is 10000)" +msgstr "Kaptaki tüm nesneleri listele (varsayılan 1000)" + +msgid "List all rules in this security group (name or ID)" +msgstr "Bu güvenlik grubundaki tüm kuralları listele (isim veya ID)" + +msgid "List all server groups." +msgstr "Bütün sunucu gruplarını listele." + +msgid "List availability zones and their status" +msgstr "Kullanılabilirlik alanlarını ve durumlarını listele" + +msgid "List available images" +msgstr "Kullanılabilir imajlar listesi" + +msgid "List backups" +msgstr "Yedekleri listele" + +msgid "List compute agents" +msgstr "Hesaplama ajanlarını listele" + +msgid "List compute availability zones" +msgstr "Hesaplama kullanılabilirlik alanlarını listele" + +msgid "List compute quota" +msgstr "Hesaplama kotasını listele" + +msgid "List compute services" +msgstr "Hesaplama servislerini listele" + +msgid "List consistency group snapshots." +msgstr "Tutarlılık grubu anlık görüntülerini listele." + +msgid "List consistency groups." +msgstr "Tutarlılık gruplarını listele." + +msgid "List consumers" +msgstr "Alıcıları listele" + +msgid "List containers" +msgstr "Kapları listele" + +msgid "List credentials" +msgstr "Kimlik bilgilerini listele" + +msgid "List disabled networks" +msgstr "Devre dışı bırakılan ağları listele" + +msgid "List disabled routers" +msgstr "Devre dışı bırakılmış yönlendiricileri listele" + +msgid "List domains" +msgstr "Alanları listele" + +msgid "List enabled networks" +msgstr "Aktif ağları listele" + +msgid "List enabled routers" +msgstr "Etkinleştirilmiş yönlendiricileri listele" + +msgid "List endpoints" +msgstr "Uç noktaları listele" + +msgid "List extensions for the Block Storage API" +msgstr "Blok Depolama API için uzantıları listele" + +msgid "List extensions for the Compute API" +msgstr "Hesaplama API için uzantıları listele" + +msgid "List extensions for the Identity API" +msgstr "Kimlik API için uzantıları listele" + +msgid "List extensions for the Network API" +msgstr "Ağ API için uzantıları listele" + +msgid "List external networks" +msgstr "Harici ağları listele" + +msgid "List federation protocols" +msgstr "Federasyon protokollerinin listele" + +msgid "List flavors" +msgstr "Flavorları listele" + +msgid "List floating IP(s)" +msgstr "Yüzen IP(ler) listesi" + +msgid "List floating IP(s) according to given fixed IP address" +msgstr "Verilen sabit IP adresine göre yüzen IP(ler) listesi" + +msgid "List floating IP(s) according to given network (name or ID)" +msgstr "Verilen ağdaki yüzen IP(ler) listesi (isim veya ID)" + +msgid "List floating IP(s) according to given port (name or ID)" +msgstr "Verilen bağlantı noktasına göre yüzen IP(ler) listesi (isim veya ID)" + +msgid "List floating IP(s) according to given project (name or ID)" +msgstr "Verilen projeye göre yüzen IP(ler)i listele (isim veya ID)" + +msgid "List floating IP(s) according to given router (name or ID)" +msgstr "Verilen yönlendiriciye göre yüzen IP(ler)i listele (isim veya ID)" + +msgid "List floating IP(s) according to given status ('ACTIVE', 'DOWN')" +msgstr "Verilen duruma göre yüzen IP(ler) listesi ('AKTİF', 'KAPALI')" + +msgid "List groups" +msgstr "Grupları listele" + +msgid "List hosts" +msgstr "Sunucuları listele" + +msgid "List hypervisors" +msgstr "Yönetici arakatman listesi" + +msgid "List identity providers" +msgstr "Kimlik sağlayıcılarını listele" + +msgid "List internal networks" +msgstr "Dahili ağları listele" + +msgid "List key fingerprints" +msgstr "Anahtar parmak izlerini listele" + +msgid "List mappings" +msgstr "Eşleşme listesi" + +msgid "List meter rules" +msgstr "Ölçek kurallarını listele" + +msgid "List module versions" +msgstr "Modül sürümlerini listele" + +msgid "List network RBAC policies" +msgstr "Ağ RBAC politikalarının listesi" + +msgid "" +"List network RBAC policies according to given action (\"access_as_external\" " +"or \"access_as_shared\")" +msgstr "" +"Verilen eyleme göre ağ RBAC ilkelerini listele (\"access_as_external\" veya " +"\"access_as_shared\")" + +msgid "" +"List network RBAC policies according to given object type (\"qos_policy\" or " +"\"network\")" +msgstr "" +"Verilen nesne türüne göre Ağ RBAC politikalarının listesi (\"qos_policy\" " +"veya \"network\")" + +msgid "List network agents" +msgstr "Ağ ajanlarını listele" + +msgid "List network availability zones" +msgstr "Ağ kullanılabilirlik alanlarını listele" + +msgid "List network flavor profile(s)" +msgstr "Ağ flavor profil(ler)ini listele" + +msgid "List network flavors" +msgstr "Ağ flavor'larını listele" + +msgid "List network meters" +msgstr "Ağ ölçeklerini listele" + +msgid "List network quota" +msgstr "Ağ kotasını listele" + +msgid "List network segments" +msgstr "Ağ bölümlerini listele" + +msgid "List network segments that belong to this network (name or ID)" +msgstr "Bu ağa ait ağ kesimlerini listeleyin (ad veya kimlik)" + +msgid "List networks" +msgstr "Ağları listele" + +msgid "" +"List networks according to VLAN ID for VLAN networks or Tunnel ID for GENEVE/" +"GRE/VXLAN networks" +msgstr "" +"VLAN ağları için VLAN ID'ye veya GENEVA/GRE/VXLAN ağları için Tünel ID'ye " +"göre ağları listele" + +msgid "List networks according to name of the physical network" +msgstr "Ağları fiziksel ağın adına göre listeleme" + +msgid "List networks according to their name" +msgstr "Ağları isimlerine göre listele" + +msgid "" +"List networks according to their physical mechanisms. The supported options " +"are: flat, geneve, gre, local, vlan, vxlan." +msgstr "" +"Ağları fiziksel mekanizmalarına göre listeleyin. Desteklenen seçenekler " +"şunlardır: flat, geneve, gre, local, vlan, vxlan." + +msgid "List networks according to their project (name or ID)" +msgstr "Projelerine göre ağları listele (isim veya ID)" + +msgid "" +"List networks according to their status ('ACTIVE', 'BUILD', 'DOWN', 'ERROR')" +msgstr "" +"Ağları durumlarına göre listeleyin ('AKTİF', 'KURMA', 'KAPALI', 'HATA')" + +msgid "List networks hosted by agent (ID only)" +msgstr "Aracı tarafından barındırılan ağları listele (yalnızca ID)" + +msgid "List networks not shared between projects" +msgstr "Projeler arasında paylaşılmayan ağları listele" + +msgid "List networks shared between projects" +msgstr "Projeler arasında paylaşılan ağları listele" + +msgid "List objects" +msgstr "Nesneleri listele" + +msgid "List only address scopes of given name in output" +msgstr "Çıktıda verilen adın sadece adres kapsamlarını listeleyin" + +msgid "List only agents running on the specified host" +msgstr "Yalnızca belirtilen ana bilgisayarda çalışan ajanları listele" + +msgid "" +"List only agents with the specified agent type. The supported agent types " +"are: bgp, dhcp, open-vswitch, linux-bridge, ofa, l3, loadbalancer, metering, " +"metadata, macvtap, nic." +msgstr "" +"Yalnızca belirtilen aracı türü olan aracıları listeleyin. Desteklenen aracı " +"türleri şunlardır: bgp, dhcp, open-vswitch, linux-bridge, ofa, l3, " +"loadbalancer, metering, metadata, macvtap, nic." + +msgid "List only ports attached to this router (name or ID)" +msgstr "" +"Yalnızca bu yönlendiriciye bağlı bağlantı noktalarını listeleyin (adı veya " +"ID'si)" + +msgid "List only ports attached to this server (name or ID)" +msgstr "Sadece bu sunucuya takılan bağlantı noktalarını listele (isim veya ID)" + +msgid "List only ports connected to this network (name or ID)" +msgstr "" +"Yalnızca bu ağa bağlı bağlantı noktalarını (isim veya kimliğini) listeleyin" + +msgid "" +"List only ports with the specified device owner. This is the entity that " +"uses the port (for example, network:dhcp)." +msgstr "" +"Yalnızca belirtilen aygıt sahibi olan bağlantı noktalarını listeleyin. Bu, " +"bağlantı noktasını kullanan varlıktır (örneğin, ağ: dhcp)." + +msgid "List only ports with this MAC address" +msgstr "Sadece bu MAC adresine sahip bağlantı noktalarını listele" + +msgid "List only private flavors" +msgstr "Sadece gizli flavorları listele" + +msgid "List only private images" +msgstr "Sadece gizli imajları listele" + +msgid "List only private types (admin only)" +msgstr "Sadece özel türleri listele (sadece yönetici)" + +msgid "List only public flavors (default)" +msgstr "Sadece herkese açık flavor'ları listele (varsayılan)" + +msgid "List only public images" +msgstr "Sadece genele açık imajları listele" + +msgid "List only public types" +msgstr "Sadece genele açık türleri listele" + +msgid "" +"List only servers changed after a certain point of time. The provided time " +"should be an ISO 8061 formatted time. ex 2016-03-04T06:27:59Z ." +msgstr "" +"Yalnızca belirli bir zaman noktasından sonra sunucuları listeleyin. Verilen " +"süre bir ISO 8061 biçiminde olmalıdır. Örn 2016-03-04T06: 27: 59Z ." + +msgid "List only shared images" +msgstr "Sadece paylaşılan imajları listele" + +msgid "List only specified service (name only)" +msgstr "Sadece belirtilen servisleri listele (sadece isim)" + +msgid "List only subnet pools of given address scope in output (name or ID)" +msgstr "" +"Verilen adres kapsamındaki sadece altağ havuzlarını çıktıda listele (isim " +"veya ID)" + +msgid "List only subnet pools of given name in output" +msgstr "Verilen isimdeki sadece altağ havuzlarını çıktıda listele" + +msgid "" +"List only subnets of a given service type in output e.g.: network:" +"floatingip_agent_gateway. Must be a valid device owner value for a network " +"port (repeat option to list multiple service types)" +msgstr "" +"Çıktıda verilen servisin sadece altağlarını listele örn: network:" +"floatingip_agent_gateway. Bir ağ bağlantı noktası için geçerli bir aygıt " +"sahibi değeri olmalıdır (birden fazla servis türü listelemek için seçeneği " +"tekrarla)" + +msgid "" +"List only subnets of given IP version in output.Allowed values for IP " +"version are 4 and 6." +msgstr "" +"Verilen IP sürümünün sadece altağlarını çıktıda listele. IP sürümü için izin " +"verilen sürümler 4 ve 6." + +msgid "List only subnets of given gateway IP in output" +msgstr "Verilen geçit IP'sinin sadece alt ağlarını çıktıda listele" + +msgid "List only subnets of given name in output" +msgstr "Verilen isimdeki sadece altağları çıktıda listele" + +msgid "" +"List only subnets of given subnet range (in CIDR notation) in output e.g.: --" +"subnet-range 10.10.0.0/16" +msgstr "" +"Verilen alt ağ aralığında (CIDR notasyonu ile) sadece altağları çıktıda " +"listele örn: --subnet-range 10.10.0.0/16" + +msgid "" +"List only subnets which belong to a given network in output (name or ID)" +msgstr "Verilen bir ağa ait sadece altağları çıktıda listele (isim veya ID)" + +msgid "" +"List only subnets which belong to a given project in output (name or ID)" +msgstr "" +"Verilen bir projeye ait sadece altağları çıktıda listele (isim veya ID)" + +msgid "List policies" +msgstr "Politikaları listele" + +msgid "List pools of floating IP addresses" +msgstr "Yüzer IP adresleri havuzlarını listele" + +msgid "List ports" +msgstr "Bağlantı noktalarını listele" + +msgid "List ports according to their project (name or ID)" +msgstr "Projeye bağlı olarak bağlantı noktalarını listele (isim veya ID)" + +msgid "List projects" +msgstr "Projeleri listele" + +msgid "List projects for the authenticated user. Supersedes other filters." +msgstr "" +"Yetkilendirilmiş kullanıcı için projeleri listele. Diğer filtrelerin yerini " +"alır." + +msgid "List qos policies according to their project (name or ID)" +msgstr "Projelerine göre QoS politikalarını listele (isim veya ID)" + +msgid "List qos policies not shared between projects" +msgstr "Projeler arasında paylaştırılmayan qos ilkelerini listele" + +msgid "List qos policies shared between projects" +msgstr "Projeler arasında paylaşılan qos politikalarını listele" + +msgid "List quotas for all projects with non-default quota values" +msgstr "" +"Varsayılan olmayan kota değerlerine sahip tüm projelerin kotalarını listeleme" + +msgid "List recent events of a server" +msgstr "Bir sunucunun son olaylarını listele" + +msgid "List recognized commands by group" +msgstr "Grup tarafından tanınan komutları listele" + +msgid "List regions" +msgstr "Bölgeleri listele" + +msgid "List resource usage per project" +msgstr "Her proje için kaynak kullanımını listele" + +msgid "List role assignments" +msgstr "Rol atamalarını listele" + +msgid "List roles" +msgstr "Rolleri listele" + +msgid "List routers" +msgstr "Yönlendiricilerin listesi" + +msgid "List routers according to their name" +msgstr "Yönlendiricileri isimlerine göre listele" + +msgid "List routers according to their project (name or ID)" +msgstr "Yönlendiricileri projelerine göre listele (isim veya ID)" + +msgid "List routers hosted by an agent (ID only)" +msgstr "Bir ajan tarafından sunulan yönlendiricileri listele (sadece ID)" + +msgid "List rules applied to incoming network traffic" +msgstr "Gelen ağ trafiğine uygulanan kurallar listesi" + +msgid "List rules applied to outgoing network traffic" +msgstr "Giden ağ trafiğine uygulanan kuralları listele" + +msgid "" +"List rules by the IP protocol (ah, dhcp, egp, esp, gre, icmp, igmp, ipv6-" +"encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, ipv6-opts, ipv6-route, ospf, pgm, " +"rsvp, sctp, tcp, udp, udplite, vrrp and integer representations [0-255])." +msgstr "" +"Kuralları IP protokolüne göre listele (ah, dhcp, egp, esp, gre, icmp, igmp, " +"ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, ipv6-opts, ipv6-route, ospf, " +"pgm, rsvp, sctp, tcp, udp, udplite, vrrp ve tam sayı gösterimleri [0-255])" + +msgid "List security group rules" +msgstr "Güvenlik grubu kurallarını listele" + +msgid "List security groups" +msgstr "Güvenlik gruplarını listele" + +msgid "List security groups according to the project (name or ID)" +msgstr "Projeye göre güvenlik grubunu listele (isim veya ID)" + +msgid "List servers" +msgstr "Sunucuları listele" + +msgid "List service command" +msgstr "Servis komutunu listele" + +msgid "List service providers" +msgstr "Servis sağlayıcıları listele" + +msgid "List services" +msgstr "Servisleri listele" + +msgid "List services in the service catalog" +msgstr "Servis katalogundaki servisleri listele" + +msgid "List services on specified host (name only)" +msgstr "Belirtilen sunucu üzerindeki servisleri listele (sadece isim)" + +msgid "List snapshots" +msgstr "Anlık görüntüleri listele" + +msgid "List subnet pools" +msgstr "Altağ havuzlarını listele" + +msgid "List subnet pools according to their project (name or ID)" +msgstr "Alt ağ havuzlarını projelerine göre listele (isim veya ID)" + +msgid "List subnet pools not shared between projects" +msgstr "Projeler arasında paylaşılmayan altağ havularını listele" + +msgid "List subnet pools not used as the default external subnet pool" +msgstr "" +"Varsayılan harici altağ havuzu olarak kullanılmayan altağ havuzlarını listele" + +msgid "List subnet pools shared between projects" +msgstr "Projeler arasında paylaşılan altağ havuzlarını listele" + +msgid "List subnet pools used as the default external subnet pool" +msgstr "" +"Varsayılan harici altağ havuzu olarak kullanılan altağ havuzlarını listele" + +msgid "List subnets" +msgstr "Alt ağları listele" + +msgid "List subnets which have DHCP disabled" +msgstr "DHCP'nin devre dışı olduğu altağları listele" + +msgid "List subnets which have DHCP enabled" +msgstr "DHCP'nin etkin olduğu altağları listele" + +msgid "List the default volume type" +msgstr "Varsayılan disk bölümü türünü listele" + +msgid "List trusts" +msgstr "Güvenleri listele" + +msgid "List user-role assignments" +msgstr "Kullanıcı rol atamalarını listele" + +msgid "List users" +msgstr "Kullanıcıları listele" + +msgid "List volume availability zones" +msgstr "Disk bölümü kullanılabilirlik alanlarını listele" + +msgid "List volume backups" +msgstr "Disk bölümü yedeklerini listele" + +msgid "List volume quota" +msgstr "Disk bölümü kotasını listele" + +msgid "List volume snapshots" +msgstr "Disk bölümü anlık görüntülerini listele" + +msgid "List volume types" +msgstr "Disk bölümü türlerini listele" + +msgid "List volumes" +msgstr "Disk bölümlerini listele" + +msgid "" +"Listing assignments using role list is deprecated as of the Newton release. " +"Use role assignment list --user --project --names " +"instead." +msgstr "" +"Rol listesi kullanarak liste atamaları, Newton sürümünden itibaren " +"kullanımdan kaldırılmıştır. Onun yerine rol atama listesi --user " +"--project --names komutunu kullanın." + +msgid "" +"Listing assignments using role list is deprecated. Use role assignment list " +"--group --domain --names instead." +msgstr "" +"Rol listesini kullanarak liste atamaları kullanımdan kaldırıldı. Onun yerine " +"role assignment list --group --domain --names " +"kullanın." + +msgid "" +"Listing assignments using role list is deprecated. Use role assignment list " +"--group --project --names instead." +msgstr "" +"Rol listesini kullanarak liste atamaları kullanımdan kaldırıldı. Onun yerine " +"role assignment list --group --project --names " +"kullanın." + +msgid "" +"Listing assignments using role list is deprecated. Use role assignment list " +"--user --domain --names instead." +msgstr "" +"Rol listesini kullanarak liste atamaları kullanımdan kaldırıldı. Bunun " +"yerine role assignment list --user --domain --" +"names kullanın." + +msgid "" +"Listing assignments using role list is deprecated. Use role assignment list " +"--user --domain default --names instead." +msgstr "" +"Rol listesini kullanarak liste atamaları kullanımdan kaldırıldı. Onun yerine " +"role assignment list --user --domain default --names kullanın." + +msgid "" +"Listing assignments using role list is deprecated. Use role assignment list " +"--user --project --names instead." +msgstr "" +"Rol listesini kullanarak liste atamaları kullanımdan kaldırıldı. Bunun " +"yerine, role assignment list --user --project --" +"names kullanın." + +msgid "" +"Listing assignments using user role list is deprecated as of the Newton " +"release. Use role assignment list --user --project --names instead." +msgstr "" +"Atamaları kullanıcı rol listesi kullanarak listelemek Newton sürümünden " +"itibaren kullanımdan kaldırılmıştır. Onun yerine role assignment list --user " +" --project --names komutunu kullanın." + +msgid "Lists all volume transfer requests." +msgstr "Tüm disk bölümü aktarım isteklerini listele." + +msgid "Local filename(s) to upload" +msgstr "Yüklenecek yerel dosya ad(lar)ı" + +msgid "Lock server(s). A non-admin user will not be able to execute actions" +msgstr "" +"Sunucu(ları/yu) kilitle. Yönetici olmayan kullanıcılar işlem yapamayacaktır." + +msgid "Login name (ssh -l option)" +msgstr "Giriş adı (ssh -l seçeneği)" + +msgid "MAC address of this port (admin only)" +msgstr "Bu bağlantı noktasının MAC adresi (yalnızca yönetici)" + +msgid "MD5 hash" +msgstr "MD5 özeti" + +msgid "MD5 hash of the agent" +msgstr "Ajanın MD5 özeti" + +msgid "Make the QoS policy accessible by other projects" +msgstr "QoS ilkesini diğer projeler tarafından erişilebilir hale getirin" + +msgid "Make the QoS policy not accessible by other projects" +msgstr "QoS ilkesine diğer projeler tarafından erişilemez yap" + +msgid "Make the QoS policy not accessible by other projects (default)" +msgstr "" +"QoS ilkesine diğer projeler tarafından erişilebilir olmamasını sağlayın " +"(varsayılan)" + +msgid "Make the network VLAN transparent" +msgstr "Ağ VLAN'ını transparan yap" + +msgid "Mapping that is to be used (name or ID)" +msgstr "Kullanılacak eşleşme (isim veya ID)" + +msgid "Mapping that is to be used (name or ID) (required)" +msgstr "Kullanılacak eşleştirme (isim veya ID) (gerekli)" + +msgid "Mapping to display" +msgstr "Gösterilecek eşleşme" + +msgid "Mapping to modify" +msgstr "Düzenlenecek eşleşme" + +msgid "Mapping(s) to delete" +msgstr "Silinecek eşletirme(ler)" + +msgid "Mark volume as bootable" +msgstr "Disk bölümünü ön yüklenebilir olarak işaretle" + +msgid "Mark volume as non-bootable" +msgstr "Disk bölümünü ön yüklenebilir olarak işaretle" + +msgid "Mark volume as non-bootable (default)" +msgstr "Disk bölümünü ön yüklemesiz olarak işaretle (varsayılan)" + +msgid "Maximum bandwidth in kbps" +msgstr "En büyük bant genişliği kbps cinsinden" + +msgid "Maximum burst in kilobits, 0 means automatic" +msgstr "Kilo bit cinsinden en büyük atış, 0 otomatik anlamına gelir" + +msgid "Maximum number of backups to display" +msgstr "En fazla gösterilecek yedek sayısı " + +msgid "Maximum number of flavors to display" +msgstr "Gösterilecek en fazla flavor sayısı" + +msgid "Maximum number of images to display." +msgstr "Gösterilecek en fazla imaj sayısı." + +msgid "" +"Maximum number of servers to display. If limit equals -1, all servers will " +"be displayed. If limit is greater than 'osapi_max_limit' option of Nova API, " +"'osapi_max_limit' will be used instead." +msgstr "" +"Gösterilecek en fazla sunucu sayısı. Eğer sınır -1'e eşitse, tüm sunucular " +"gösterilir. Eğer limit Nova API'nın 'osapi_max_limit' seçeneğinden daha " +"büyükse, onun yerine 'osapi_max_limit' kullanılacaktır." + +msgid "Maximum number of servers to launch (default=1)" +msgstr "Başlatılması gereken en fazla sunucu sayısı (varsayılan=1)" + +msgid "Maximum number of snapshots to display" +msgstr "Gösterilecek en büyük anlık görüntü sayısı" + +msgid "Maximum number of volumes to display" +msgstr "Gösterilecek en çok disk bölümü sayısı" + +msgid "Memory size in MB (default 256M)" +msgstr "MB cinsinden bellek boyutu (varsayılan 256M)" + +msgid "" +"Metainfo for the flavor profile. This becomes required if --driver is " +"missing and vice versa" +msgstr "" +"Flavor profili için Metainfo. --driver eksikse bu gereklidir ya da tam tersi" + +msgid "Meter rule (ID only)" +msgstr "Ölçek kuralı (sadece ID)" + +msgid "Meter rule to delete (ID only)" +msgstr "Silinecek ölçüm kuralı (sadece ID)" + +msgid "Meter to delete (name or ID)" +msgstr "Silinecek ölçek (isim veya ID)" + +msgid "Meter to display (name or ID)" +msgstr "Gösterilecek ölçek (isim veya ID)" + +msgid "Migrate server to different host" +msgstr "Farklı konakçıya sunucuyu göç ettir" + +msgid "Migrate volume to a new host" +msgstr "Disk bölümünü yeni bir sunucuya göç ettir" + +msgid "" +"Migration policy while re-typing volume (\"never\" or \"on-demand\", default " +"is \"never\" ) (available only when --type option is specified)" +msgstr "" +"Disk bölümü yeniden yazarken geçiş politikası (\"hiçbir zaman\" veya \"talep " +"üzerine\", varsayılan \"hiçbir zaman\") (yalnızca --type seçeneği " +"belirtildiğinde kullanılabilir)" + +msgid "Minimum RAM size needed to boot image, in megabytes" +msgstr "" +"İmajı ön yüklemek için kullanılacak en küçük RAM boyutu, megabayt cinsinden" + +msgid "Minimum disk size needed to boot image, in gigabytes" +msgstr "" +"İmajı ön yüklemek için gerekli en küçük disk boyutu, gigabayt cinsinden" + +msgid "Minimum guaranteed bandwidth in kbps" +msgstr "En az garanti edilen kbps cinsinden bant genişliği" + +msgid "Minimum number of servers to launch (default=1)" +msgstr "Başlatılması gereken minimum sunucu sayısı (varsayılan=1)" + +msgid "Modify from " +msgstr "dan düzenle" + +#, python-format +msgid "Multiple %(resource)s exist with %(attr)s='%(value)s'" +msgstr "Çoklu %(resource)s %(attr)s='%(value)s' ile mevcut" + +#, python-format +msgid "Multiple service matches found for '%s', use an ID to be more specific." +msgstr "" +"'%s' için birden fazla servis eşleşmesi bulundu, daha belirgin olması için " +"ID kullanın." + +msgid "Name for the flavor" +msgstr "Flavor için isim" + +msgid "Name of QoS policy to create" +msgstr "Oluşturulacak QoS politikasının ismi" + +msgid "" +"Name of a file that contains many remote IDs to associate with the identity " +"provider, one per line" +msgstr "" +"Her satır başına bir tane olmak üzere, kimlik sağlayıcısı ile " +"ilişkilendirilecek çok sayıda uzak kimliği içeren bir dosyanın adı" + +msgid "Name of host" +msgstr "Sunucu ismi" + +msgid "Name of key(s) to delete (name only)" +msgstr "Silinecek anahtar(lar)ın ismi (sadece isim)" + +msgid "Name of meter" +msgstr "Ölçeğin adı" + +msgid "Name of new consistency group (default to None)" +msgstr "Yeni tutarlılık grubunun adı (varsayılan olarak None)" + +msgid "Name of new consistency group snapshot (default to None)" +msgstr "" +"Yeni tutarlılık grubunun anlık görüntüsünün adı (varsayılan olarak None)" + +msgid "Name of new disk image (default: server name)" +msgstr "Yeni disk imajlarının ismi (varsayılan: sunucu adı)" + +msgid "Name of service (Binary name)" +msgstr "Servis ismi (İkili isim)" + +msgid "Name of the backup" +msgstr "Yedek ismi" + +msgid "Name of the backup image (default: server name)" +msgstr "Yedek imajın ismi (varsayılan: sunucu adı)" + +msgid "Name of the new snapshot" +msgstr "Yeni anlık görüntünün ismi" + +msgid "Name of the new subnet pool" +msgstr "Yeni altağ havuzunun ismi" + +msgid "" +"Name of the physical network over which the virtual network is implemented" +msgstr "Sanal ağın üzerinde uygulandığı fiziksel ağın adı" + +msgid "Name of the snapshot" +msgstr "Anlık görüntü ismi" + +msgid "Name of this port" +msgstr "Bu bağlantı noktasının ismi" + +msgid "Name of volume host" +msgstr "Disk bölümü anabilgisayarının ismi" + +msgid "Name or ID of project to show usage for" +msgstr "Kullanımı gösterilecek projenin isim veya ID'si" + +msgid "Name or ID of security group to remove from server" +msgstr "Sunucudan kaldırılacak güvenlik grubunun isim veya ID'si" + +msgid "Name or ID of server to use" +msgstr "Kullanılacak sunucunun isim veya ID'si" + +#, python-format +msgid "Network API version, default=%s (Env: OS_NETWORK_API_VERSION)" +msgstr "Ağ API sürümü, varsayılan=%s (Env: OS_NETWORK_API_VERSION)" + +msgid "Network QoS rule to delete (ID)" +msgstr "Silinecek Ağ QoS kuralı (ID)" + +msgid "Network agent to display (ID only)" +msgstr "Görüntülenecek ağ ajanı (yalnızca kimlik kartı)" + +msgid "Network agent to modify (ID only)" +msgstr "Değiştirilecek ağ ajanı (yalnızca ID)" + +msgid "Network agent(s) to delete (ID only)" +msgstr "Silinecek ağ ajanları (sadece ID)" + +msgid "Network flavor (name or ID)" +msgstr "Ağ flavor'ı (isim veya ID)" + +msgid "Network segment description" +msgstr "Ağ dilimi açıklaması" + +msgid "Network segment to associate with this subnet (name or ID)" +msgstr "Bu ağ ile ilişkili ağ dilimi (isim veya ID)" + +msgid "Network segment to display (name or ID)" +msgstr "Gösterilecek ağ dilimi (isim veya ID)" + +msgid "Network segment to modify (name or ID)" +msgstr "Değiştirilecek ağ segmenti (ad veya kimlik)" + +msgid "Network segment(s) to delete (name or ID)" +msgstr "Silinecek ağ segmentleri (ad veya kimlik)" + +msgid "Network this network segment belongs to (name or ID)" +msgstr "Bu ağ bölümünün ait olduğu ağ (isim veya ID)" + +msgid "Network this port belongs to (name or ID)" +msgstr "Bu portun ait olduğu ağ (isim veya kimlik numarası)" + +msgid "Network this subnet belongs to (name or ID)" +msgstr "Bu alt ağın ait olduğu ağ (isim veya ID)" + +msgid "Network to allocate floating IP from (name or ID)" +msgstr "Yüzen IP'nin ayrılacağı ağ (isim veya ID)" + +msgid "Network to allocate the fixed IP address from (name or ID)" +msgstr "Sabit IP adresi ayrılacak ağ (isim veya ID)" + +msgid "Network to be added to an agent (name or ID)" +msgstr "Bir ajana eklenecek ağ (isim veya ID)" + +msgid "Network to be removed from an agent (name or ID)" +msgstr "Bir ajandan kaldırılacak ağ (isim veya ID)" + +msgid "Network to display (name or ID)" +msgstr "Gösterilecek ağ (isim veya ID)" + +msgid "Network to fetch an IP address from (name or ID)" +msgstr "IP adresi çekilecek ağ (isim veya ID)" + +msgid "Network to modify (name or ID)" +msgstr "Düzenlenecek ağ (isim veya ID)" + +msgid "" +"Network type of this network segment (flat, geneve, gre, local, vlan or " +"vxlan)" +msgstr "Bu ağ diliminin ağ türü (flat, geneve, gre, local, vlan veya vxlan)" + +msgid "Network(s) to delete (name or ID)" +msgstr "Silinecek ağ(lar) (isim veya ID)" + +msgid "New Authentication URL of remote federated service provider" +msgstr "Uzak federe servis sağlayıcının yeni Kimlik Doğrulama URL'si" + +msgid "New MIME type of the policy rules file" +msgstr "Politika kuralları dosyasının yeni MIME türü" + +msgid "New MIME type of the policy rules file (defaults to application/json)" +msgstr "" +"Politika kuralları dosyasının yeni MIME türü (varsayılan application/json)" + +msgid "New QoS specification name" +msgstr "Yeni QoS özellik ismi" + +msgid "New address scope name" +msgstr "Yeni adres kapsam ismi" + +msgid "New aggregate name" +msgstr "Yeni küme ismi" + +msgid "New backup description" +msgstr "Yeni yedek açıklaması" + +msgid "New backup name" +msgstr "Yeni yedek ismi" + +msgid "" +"New backup state (\"available\" or \"error\") (admin only) (This option " +"simply changes the state of the backup in the database with no regard to " +"actual status, exercise caution when using)" +msgstr "" +"Yeni yedek durumu (\"kullanılabilir\" veya \"hata\") (sadece yönetici) (Bu " +"seçenek, veritabanındaki yedeklemenin durumunu gerçek durumu dikkate almadan " +"değiştirir, kullanırken dikkatli olun.)" + +msgid "New consistency group description" +msgstr "Yeni tutarlılık grubu açıklaması" + +msgid "New consistency group name" +msgstr "Yeni tutarlılık grubu ismi" + +msgid "New consumer description" +msgstr "Yeni tüketici tanımı" + +msgid "New container name(s)" +msgstr "Yeni kap ismi" + +msgid "New credential data" +msgstr "Yeni kimlik bilgileri verisi" + +msgid "New credential type: cert, ec2" +msgstr "Yeni kimlik bilgisi türü: cert, ec2" + +msgid "New domain description" +msgstr "Yeni alan tanımı" + +msgid "New domain name" +msgstr "Yeni alan adı" + +msgid "New endpoint URL" +msgstr "Yeni uç nokta URL'i" + +msgid "New endpoint admin URL" +msgstr "Yeni uç nokta yönetici URL'i" + +msgid "New endpoint interface type (admin, public or internal)" +msgstr "Yeni uç nokta arayüz türü (yönetici, genele açık veya dahili)" + +msgid "New endpoint internal URL" +msgstr "Yeni uç nokta dahili URL'i" + +msgid "New endpoint public URL (required)" +msgstr "Yeni uç nokta herkese açık URL (gerekli)" + +msgid "New endpoint region ID" +msgstr "Yeni uç nokta bölge ID'si" + +msgid "New endpoint service (name or ID)" +msgstr "Yeni uç nokta servisi (isim veya ID)" + +msgid "New federation protocol name (must be unique per identity provider)" +msgstr "" +"Yeni federasyon protokolü ismi (her kimlik sağlayıcı için benzersiz " +"olmalıdır)" + +msgid "New flavor name" +msgstr "Yeni flavor adı" + +msgid "New group description" +msgstr "Yeni grup açıklaması" + +msgid "New group name" +msgstr "Yeni grup ismi" + +msgid "New identity provider description" +msgstr "Yeni kimlik sağlayıcı açıklaması" + +msgid "New identity provider name (must be unique)" +msgstr "Yeni kimlik sağlayıcı ismi (benzersiz olmalıdır)" + +msgid "New image name" +msgstr "Yeni imaj ismi" + +msgid "New mapping name (must be unique)" +msgstr "Yeni eşleştirme ismi (benzersiz olmalı)" + +msgid "New network name" +msgstr "Yeni ağ adı" + +msgid "New network segment name" +msgstr "Yeni ağ dilim adı" + +msgid "New parent region ID" +msgstr "Yeni üst bölge ID'si" + +msgid "New password: " +msgstr "Yeni parola: " + +msgid "New project name" +msgstr "Yeni proje adı" + +msgid "New public or private key name" +msgstr "Yeni açık ve kapalı anahtar ismi" + +msgid "New region ID" +msgstr "Yeni bölge ID'si" + +msgid "New region description" +msgstr "Yeni bölge tanımı" + +msgid "New role name" +msgstr "Yeni rol adı" + +msgid "New router name" +msgstr "Yeni yönlendirici ismi " + +msgid "New security group description" +msgstr "Yeni güvenlik grubu açıklaması" + +msgid "New security group name" +msgstr "Yeni güvenlik grubu ismi" + +msgid "New serialized policy rules file" +msgstr "Yeni dizileştirilmiş politika kuralları dosyası" + +msgid "New server group name" +msgstr "Yeni sunucu grup ismi" + +msgid "New server name" +msgstr "Yeni sunucu ismi" + +msgid "New server state (valid value: active, error)" +msgstr "Yeni sunucu durumu (geçerli değer: aktif, hata)" + +msgid "New service description" +msgstr "Yeni servis tanımı" + +msgid "New service name" +msgstr "Yeni servis ismi" + +msgid "New service provider URL, where SAML assertions are sent" +msgstr "SAML bildirimlerinin gönderildiği yeni hizmet sağlayıcı URL'si" + +msgid "New service provider description" +msgstr "Yeni servis sağlayıcı tanımı" + +msgid "New service provider name (must be unique)" +msgstr "Yeni servis sağlayıcı ismi (benzersiz olmak zorunda)" + +msgid "New service type (compute, image, identity, volume, etc)" +msgstr "Yeni servis türü (hesaplama, imaj, kimlik, disk bölümü, vs.)" + +#, python-format +msgid "New size must be greater than %s GB" +msgstr "Yeni boyut %s GB'den büyük olmak zorunda" + +msgid "New snapshot description" +msgstr "Yeni anlık görüntü tanımı" + +msgid "New snapshot name" +msgstr "Yeni anlık görüntü ismi" + +msgid "" +"New snapshot state. (\"available\", \"error\", \"creating\", \"deleting\", " +"or \"error_deleting\") (admin only) (This option simply changes the state of " +"the snapshot in the database with no regard to actual status, exercise " +"caution when using)" +msgstr "" +"Yeni anlık görüntü durumu. (\"kullanılabilir\", \"hata\", \"oluşturuluyor\", " +"\"siliniyor\", veya \"silerken hata\") (sadece yönetici) (Bu seçenek, gerçek " +"duruma bakılmaksızın veritabanındaki anlık görüntüsünün durumunu değiştirir, " +"kullanırken dikkatli olun)" + +msgid "New subnet name" +msgstr "Yeni altağ ismi" + +msgid "New transfer request name (default to None)" +msgstr "Yeni aktarım isteği ismi (varsayılan olarak None)" + +msgid "New user name" +msgstr "Yeni kullanıcı ismi" + +msgid "New user password" +msgstr "Yeni kullanıcı parolası" + +#, python-format +msgid "New value for the %s quota" +msgstr "%s kotası için yeni değer" + +msgid "New volume description" +msgstr "Yeni disk bölümü açıklaması" + +msgid "New volume name" +msgstr "Yeni disk bölümü ismi" + +msgid "" +"New volume state (\"available\", \"error\", \"creating\", \"deleting\", \"in-" +"use\", \"attaching\", \"detaching\", \"error_deleting\" or \"maintenance\") " +"(admin only) (This option simply changes the state of the volume in the " +"database with no regard to actual status, exercise caution when using)" +msgstr "" +"Yeni disk bölümü durumu (\"kullanılabilir\", \"hata\", \"oluşturuluyor\", " +"\"siliniyor\", \"kullanımda\", \"ekleniyor\", \"çıkarılıyor\", \"silinirken " +"hata\" veya \"bakım\") (sadece yönetici) (Bu seçenek, veritabanındaki " +"birimin durumunu gerçek durumu dikkate almadan değiştirir, kullanırken " +"dikkatli olun.)" + +msgid "New volume type (name or ID)" +msgstr "Yeni disk bölümü türü (isim veya ID)" + +#, python-format +msgid "No %(resource)s with a %(attr)s or ID of '%(value)s' found" +msgstr "%(attr)s veya '%(value)s' ID'li bir %(resource)s bulunamadı" + +#, python-format +msgid "No agent with a ID of '%(id)s' exists." +msgstr "'%(id)s'nin bir ID'si ile bir ajan yok." + +msgid "" +"No existing encryption type found, creating new encryption type for this " +"volume type ..." +msgstr "" +"Mevcut şifreleme türü bulunamadı, bu disk bölümü türü için yeni şifreleme " +"türü oluşturuluyor ..." + +msgid "" +"No password was supplied, authentication will fail when a user does not have " +"a password." +msgstr "" +"Parola girilmedi, bir kullanıcının parolası olmadığında kimlik doğrulama " +"başarısız olur." + +#, python-format +msgid "No service catalog with a type, name or ID of '%s' exists." +msgstr "'%s' türünde, isminde veya ID'si ile bir servis kataloğu yok." + +#, python-format +msgid "No service with a type, name or ID of '%s' exists." +msgstr "'%s' türünde, isminde veya ID'si ile bir servis bulunamadı." + +#, python-format +msgid "No tags associated with the %s" +msgstr "%s ile ilişkilendirilmiş hiç etiket yok" + +msgid "Number of backups to keep (default: 1)" +msgstr "Tutulacak yedekleme sayısı (varsayılan: 1)" + +msgid "Number of lines to display from the end of the log (default=all)" +msgstr "Günlüğün sonundan gösterilecek satır sayısı (varsayılan=tümü)" + +msgid "Number of vcpus (default 1)" +msgstr "vcpus sayısı (varsayılan 1)" + +#, python-format +msgid "Object name is %s characters long, default limit is 1024" +msgstr "Nesne ismi %s karakter uzunluğunda, varsayılan sınır 1024" + +msgid "Object to display" +msgstr "Gösterilecek nesne" + +msgid "Object to modify" +msgstr "Düzenlenecek nesne" + +msgid "Object to save" +msgstr "Kaydedilecek nesne" + +msgid "Object(s) to delete" +msgstr "Silinecek nesne(ler)" + +msgid "One or more of the set operations failed" +msgstr "Bir veya birden fazla ayar işlemleri başarısız" + +msgid "One or more of the unset operations failed" +msgstr "Bir veya birden fazla ayar kaldırma işlemi başarısız" + +msgid "Only an authorized user may issue a new token." +msgstr "Yalnızca yetkili bir kullanıcı yeni bir jeton verebilir." + +msgid "Only display deleted servers (Admin only)." +msgstr "Sadece silinen sunucuları göster (sadece admin)." + +msgid "Only return hosts in the availability zone" +msgstr "Sadece kullanılabilirlik bölgesindeki sunucuları döndürür" + +msgid "Only return instances that match the reservation" +msgstr "Sadece rezervasyonla eşleşen sunucuları döndürür" + +msgid "Operating system architecture" +msgstr "İşletim sistemi mimarisi" + +msgid "Operating system distribution name" +msgstr "İşletim sistemi dağıtım adı" + +msgid "Operating system distribution version" +msgstr "Işletim sistemi dağıtım sürümü" + +msgid "Optional backup container name" +msgstr "Seçimli yedek kap ismi" + +msgid "Options in ssh_config(5) format (ssh -o option)" +msgstr "ssh_config(5) biçemi içerisindeki seçenekler (ssh -o seçeneği)" + +msgid "Original user password" +msgstr "Orijinal kullanıcı parolası" + +msgid "Owner's project (name or ID)" +msgstr "Sahibin projesi (isim veya ID)" + +msgid "Parent of the project (name or ID)" +msgstr "Projenin üst projesi (isim veya ID)" + +msgid "Parent region ID" +msgstr "Üst bölge ID'si" + +msgid "Passwords do not match, password unchanged" +msgstr "Parolalar eşleşmedi, parola değiştirilmedi" + +msgid "Pause server(s)" +msgstr "Sunucu(ları/yu) durdur" + +msgid "Perform a block live migration" +msgstr "Bir blok gerçek göç gerçekleştir" + +msgid "Perform a hard or soft server reboot" +msgstr "Sert veya yumuşak sunucu yeniden başlatmayı gerçekleştir" + +msgid "Perform a hard reboot" +msgstr "Sert yeniden başlatmayı gerçekleştir" + +msgid "Perform a shared live migration (default)" +msgstr "Paylaşımlı canlı göç gerçekleştir (varsayılan)" + +msgid "Perform a soft reboot" +msgstr "Yumuşak yeniden başlatmayı gerçekleştir" + +msgid "Perform an incremental backup" +msgstr "Artımlı bir yedekleme gerçekleştir" + +msgid "Physical network name of this network segment" +msgstr "Bu ağ kesiminin fiziksel ağ adı" + +msgid "Policy to display" +msgstr "Gösterilecek politika" + +msgid "Policy to modify" +msgstr "Düzenlenecek politika" + +msgid "Policy(s) to delete" +msgstr "Silinecek politika(lar)" + +msgid "Port device ID" +msgstr "Bağlantı noktası aygıtı ID'si" + +#, python-format +msgid "Port does not contain allowed-address-pair %s" +msgstr "%s izin verilen adres çiftlerini içermeyen bağlantı noktası" + +#, python-format +msgid "Port does not contain binding-profile %s" +msgstr "Bağlantı noktası %s bağlantı-profilini içermiyor" + +#, python-format +msgid "Port does not contain fixed-ip %s" +msgstr "Bağlantı noktası %s sabit ip'sini içermiyor" + +#, python-format +msgid "Port does not contain security group %s" +msgstr "Bağlantı noktası %s güvenlik grubunu içermiyor" + +msgid "Port to add to the server (name or ID)" +msgstr "Sunucuya eklenecek bağlantı noktası (isim veya ID)" + +msgid "Port to be added (name or ID)" +msgstr "Eklenecek bağlantı noktası (isim veya ID)" + +msgid "Port to be associated with the floating IP (name or ID)" +msgstr "Yüzen IP ile ilişkilendirilecek bağlantı noktası (isim veya ID)" + +msgid "Port to be removed and deleted (name or ID)" +msgstr "Kaldırılacak ve silinecek bağlantı noktası (isim veya ID)" + +msgid "Port to display (name or ID)" +msgstr "Gösterilecek bağlantı noktası (isim veya ID)" + +msgid "Port to modify (name or ID)" +msgstr "Düzenlenecek bağlantı noktası (isim veya ID)" + +msgid "Port to remove from the server (name or ID)" +msgstr "Sunucudan kaldırılacak bağlantı noktası (isim veya ID)" + +msgid "Port(s) to delete (name or ID)" +msgstr "Silinecek bağlantı noktaları (isim veya ID)" + +msgid "Prefix length for subnet allocation from subnet pool" +msgstr "Altağ havuzundan altağ tahsisi için ön ek uzunluğu" + +msgid "Prevent image from being deleted" +msgstr "İmajı silinmekten koru" + +msgid "Print image size in a human-friendly format." +msgstr "İmaj boyutunu insan dostu bir biçimde bastırın." + +msgid "Private key file (ssh -i option)" +msgstr "Gizli anahtar dosyası (ssh -i seçeneği)" + +msgid "Project and User must be specified" +msgstr "Proje ve kullanıcı belirtilmeli" + +msgid "Project being delegated (name or ID) (required)" +msgstr "Devredilen proje (isim veya ID) (gerekli)" + +msgid "Project description" +msgstr "Proje açıklaması" + +msgid "Project must be specified" +msgstr "Proje belirtilmek zorunda" + +msgid "Project that consumer wants to access (name or ID) (required)" +msgstr "Alıcının erişmek istediği proje (isim veya ID) (gerekli)" + +msgid "Project to associate with image (name or ID)" +msgstr "İmaj ile ilişkili proje (isim veya ID)" + +msgid "Project to clean (name or ID)" +msgstr "Temizlenecek proje (isim veya ID)" + +msgid "Project to disassociate with image (name or ID)" +msgstr "İmaj ile ilişkişi kesilecek proje (isim veya ID)" + +msgid "Project to display (name or ID)" +msgstr "Gösterilecek proje (isim veya ID)" + +msgid "Project to filter (name or ID)" +msgstr "Filtrelenecek proje (isim veya ID)" + +msgid "Project to modify (name or ID)" +msgstr "Düzenlenecek projeler (isim veya ID)" + +msgid "Project which limits the scope of the credential (name or ID)" +msgstr "Kimlik bilgilerinin kapsamını sınırlayan proje (isim veya ID)" + +msgid "Project(s) to delete (name or ID)" +msgstr "Silinecek proje(ler) (isim veya ID)" + +msgid "Prompt interactively for password" +msgstr "Parolayı interaktif olarak sor" + +msgid "" +"Property key to remove from server (repeat option to remove multiple values)" +msgstr "" +"Sunucudan kaldırılacak özellik anahtaru (birden fazla değer silmek için " +"seçeneği tekrarla)" + +msgid "" +"Property to add for this flavor (repeat option to set multiple properties)" +msgstr "" +"Bu flavor'a eklenecek özellik (birden fazla özellik ayarlamak için seçeneği " +"tekrarlayın)" + +msgid "" +"Property to add or modify for this QoS specification (repeat option to set " +"multiple properties)" +msgstr "" +"Bu QoS belirtimi için ekleme veya değişiklik yapma özelliği (birden fazla " +"özellik ayarlamak için seçeneği tekrarla)" + +msgid "" +"Property to add or modify for this flavor (repeat option to set multiple " +"properties)" +msgstr "" +"Bu flavor için eklenecek veye düzenlenecek özellik (birden fazla özellik " +"ayarlamak için seçeneği tekrarla)" + +msgid "" +"Property to add to this aggregate (repeat option to set multiple properties)" +msgstr "" +"Bu kümeye eklenecek özellik (çoklu özellik ayarlamak için seçeneği tekrarla)" + +msgid "" +"Property to add/change for this server (repeat option to set multiple " +"properties)" +msgstr "" +"Bu sunucu için eklenecek/değiştirilecek özellik (birden falza özellik " +"ayarlamak için seçeneği tekrarla)" + +msgid "" +"Property to add/change for this snapshot (repeat option to set multiple " +"properties)" +msgstr "" +"Bu anlık görüntü için eklenecek/değiştirilecek özellik (birden fazla özellik " +"ayarlamak için seçeneği tekrarla)" + +msgid "" +"Property to remove from account (repeat option to remove multiple properties)" +msgstr "" +"Hesaptan silinecek özellik (birden fazla özellik silmek için seçeneği " +"tekrarla)" + +msgid "" +"Property to remove from aggregate (repeat option to remove multiple " +"properties)" +msgstr "" +"Kümeden kaldırılacak özellikler (birden fazla özelliği kaldırmak için " +"seçeneği tekrarlayın)" + +msgid "" +"Property to remove from container (repeat option to remove multiple " +"properties)" +msgstr "" +"Kaptan kaldırılacak özellik (birden fazla özellik kaldırmak için seçeneği " +"tekrarla)" + +msgid "" +"Property to remove from flavor (repeat option to unset multiple properties)" +msgstr "" +"Flavor'dan kaldırılacak özellik (birden fazla özelliği kaldırmak için " +"seçeneği tekrarla)" + +msgid "" +"Property to remove from object (repeat option to remove multiple properties)" +msgstr "" +"Nesneden kaldırılacak özellik (birden fazla özellik kaldırmak için seçeneği " +"tekrarla)" + +msgid "" +"Property to remove from snapshot (repeat option to remove multiple " +"properties)" +msgstr "" +"Anlık görüntüden kaldırılacak özellik (birden fazla özellik kaldırmak için " +"seçeneği tekrarlayın)" + +msgid "" +"Property to remove from the QoS specification. (repeat option to unset " +"multiple properties)" +msgstr "" +"QoS belirtiminden kaldırılacak özellik. (birden fazla özelliğin ayarını " +"kaldırmak için seçeneği tekrarla)" + +msgid "" +"Property to set on (repeat option to set multiple properties)" +msgstr "" +" üzerinde ayarlanacak özellik (çoklu özellik ayarlamak için " +"seçeneği tekrarla)" + +msgid "Public or private key to display (name only)" +msgstr "Gösterilecek açık veya kapalı anahtar (sadece isim)" + +msgid "Put server in rescue mode" +msgstr "Sunucuyu kurtarma kipine getir" + +msgid "" +"Python module path to driver. This becomes required if --metainfo is missing " +"and vice versa" +msgstr "" +"Python modülünün sürücüye yolu. --metainfo eksikse bu gereklidir ya da tam " +"tersi" + +msgid "QoS policy that contains the rule (name or ID)" +msgstr "Kuralı içeren QoS politikası (isim veya ID)" + +msgid "QoS policy to attach to this network (name or ID)" +msgstr "Bu ağa eklenecek QoS politikası (isim veya ID)" + +msgid "QoS policy to display (name or ID)" +msgstr "Görüntülenecek QoS politikası (ad veya kimlik)" + +msgid "QoS policy to modify (name or ID)" +msgstr "Değiştirmek için QoS politikası (ad veya ID)" + +msgid "QoS policy(s) to delete (name or ID)" +msgstr "Silinecek QoS politika(lar/s)ı (isim veya ID)" + +#, python-format +msgid "QoS rule type (%s)" +msgstr "QoS kural türü (%s)" + +msgid "QoS specification to display (name or ID)" +msgstr "Gösterilecek QoS belirtimi (isim veya ID)" + +msgid "QoS specification to modify (name or ID)" +msgstr "Düzenlenecek QoS özelliği (isim veya ID)" + +msgid "QoS specification(s) to delete (name or ID)" +msgstr "Silinecek QoS özellikleri (isim veya ID)" + +msgid "RBAC policy (ID only)" +msgstr "RBAC politikası (sadece ID)" + +msgid "RBAC policy to be modified (ID only)" +msgstr "Değiştirilecek RBAC politikası (yalnızca ID)" + +msgid "RBAC policy(s) to delete (ID only)" +msgstr "Silinecek RBAC politikaları (sadece ID)" + +msgid "RX/TX factor (default 1.0)" +msgstr "RX/TX faktörü (varsayılan 1.0)" + +msgid "Read image data from standard input" +msgstr "Standart girdiden imaj verilerini oku" + +msgid "" +"Reason for disabling the service (in quotas). Should be used with --disable " +"option." +msgstr "" +"Servisi devre dışı bırakma sebebi (kota cinsinden). --disable seçeneği ile " +"birlikte kullanılmalı." + +msgid "Reason for disabling the service (should be used with --disable option)" +msgstr "" +"Servisi devredışı bırakmak için sebep (--disable seçeneği ile kullanılmalı)" + +msgid "Rebuild server" +msgstr "Sunucuyu yeniden yapılandır" + +msgid "" +"Recreate server from the specified image (name or ID). Defaults to the " +"currently used one." +msgstr "" +"Sunucuyu belirtilen imajdan yeniden oluşturun (ad veya ID). Varsayılan " +"olarak o anda kullanılana ayarlıdır." + +msgid "Recursively delete objects and container" +msgstr "Nesneleri ve kabı yinelemeli olarak sil" + +msgid "Region ID(s) to delete" +msgstr "Silinecek bölge ID(leri)" + +msgid "Region to display" +msgstr "Gösterilecek bölge" + +msgid "Region to modify" +msgstr "Düzenlenecek bölge" + +msgid "Regular expression to match IP addresses" +msgstr "IP adresleriyle eşleşen düzenli ifadeler" + +msgid "Regular expression to match IPv6 addresses" +msgstr "IPv6 adresleriyle eşleşen düzenli ifadeler" + +msgid "Regular expression to match instance name (admin only)" +msgstr "Sunucu adıyla eşleşen düzenli ifadeler (yalnızca yönetici)" + +msgid "Regular expression to match names" +msgstr "Adları eşleştirmek için düzenli ifadeler" + +msgid "Reject the image membership" +msgstr "İmaj üyeliğini red et" + +msgid "" +"Remote IDs to associate with the Identity Provider (repeat option to provide " +"multiple values)" +msgstr "" +"Kimlik Sağlayıcısı ile ilişkilendirilecek uzak kimlikler (birden fazla değer " +"sağlamak için seçeneği tekrarlayın)" + +msgid "" +"Remote IP address block (may use CIDR notation; default for IPv4 rule: " +"0.0.0.0/0)" +msgstr "" +"Uzak IP adres bloğu (CIDR notasyonu kullanılabilir; IPv4 kuralı için " +"varsayılan: 0.0.0.0/0)" + +msgid "Remote security group (name or ID)" +msgstr "Uzak güvenlik grubu (isim veya ID)" + +msgid "Remove a port from a router" +msgstr "Bir yönlendiriciden bir bağlantı noktası kaldır" + +msgid "" +"Remove a property from this volume type (repeat option to remove multiple " +"properties)" +msgstr "" +"Bu disk bölümü türünden bir özelliği kaldır (birden fazla özellik silmek " +"için seçeneği tekrarla)" + +msgid "" +"Remove a property from volume (repeat option to remove multiple properties)" +msgstr "" +"Disk bölümünden bir özelliği sil (birden fazla özelliği kaldırmak için " +"seçeneği tekrarla)" + +msgid "Remove a subnet from a router" +msgstr "Alt ağı yönlendiriciden kaldır" + +msgid "Remove address scope associated with the subnet pool" +msgstr "Alt ağ havuzuyla ilişkili adres alanını kaldır" + +msgid "" +"Remove all properties from (specify both --property and --no-" +"property to overwrite the current properties)" +msgstr "" +"'den tüm özellikleri kaldır (mevcut üzelliklerin üzerine yazmak " +"için hem --property hem de --no-property'yi belirleyin)" + +msgid "" +"Remove all properties from (specify both --no-property and --" +"property to remove the current properties before setting new properties.)" +msgstr "" +"'dan tüm özellikleri kaldır (Yeni özellikleri ayarlamadan önce " +"geçerli özellikleri kaldırmak için --no-property ve --property seçeneklerini " +"belirtin.)" + +msgid "" +"Remove all properties from (specify both --no-property and --" +"property to remove the current properties before setting new properties.)" +msgstr "" +"'den tüm özellikleri kaldır (yeni özellikleri ayarlamadan önce " +"geçerli özellikleri kaldırmak için --no-property ve --property seçeneklerini " +"belirtin.)" + +msgid "" +"Remove all properties from this flavor (specify both --no-property and --" +"property to remove the current properties before setting new properties.)" +msgstr "" +"Bu flavor'daki tüm özellikleri kaldır (yeni özellikler tanımlamadan önce " +"mevcut özellikleri kaldırmak için --no-property ve --property seçeneklerinin " +"her ikisini de belirtin.)" + +msgid "" +"Remove an image property from volume (repeat option to remove multiple image " +"properties)" +msgstr "" +"Disk bölümünden bir imaj özelliğini sil (birden fazla imaj özelliği silmek " +"için seçeneği tekrarla)" + +msgid "Remove any snapshots along with volume(s) (defaults to False)" +msgstr "" +"Herhangi bir anlık görüntüsünü hacimle birlikte çıkarın (varsayılan olarak " +"False)" + +msgid "Remove external gateway information from the router" +msgstr "Yönlendiriciden harici geçit bilgisini sil" + +msgid "Remove fixed IP address from server" +msgstr "Sunucudan sabit IP adresini kaldırın" + +msgid "Remove flavor access from project (name or ID) (admin only)" +msgstr "Flavor erişimini projeden kaldır (isim veya ID) (sadece yönetici)" + +msgid "Remove floating IP address from server" +msgstr "Sunucudan kayan IP adresi kaldırın" + +msgid "Remove host from aggregate" +msgstr "Kümeden sunucuyu kaldır" + +msgid "Remove network from DHCP agent" +msgstr "Ağı DHCP ajanından sil" + +msgid "Remove network from an agent." +msgstr "Bir ajandan ağı kaldırın." + +msgid "Remove port from server" +msgstr "Sunucudan bağlantı noktasını sil" + +msgid "Remove role from project : user" +msgstr "Rolü proje : kullanıcıdan kaldırın" + +msgid "Remove router from an L3 agent" +msgstr "Yönlendiriciyi L3 ajanından kaldır" + +msgid "Remove router from an agent" +msgstr "Yönlendiriciyi bir ajandan kaldır" + +msgid "Remove security group from server" +msgstr "Sunucudan güvenlik grubunu kaldır" + +msgid "Remove service profile from network flavor" +msgstr "Servis profilini ağ flavor'ından kaldır" + +msgid "" +"Remove subnet pool prefixes (in CIDR notation). (repeat option to unset " +"multiple prefixes)." +msgstr "" +"Alt ağ havuzu öneklerini kaldır (CIDR gösteriminde). (Birden fazla önekin " +"ayarını kaldırmak için seçeneği tekrarlayın)." + +msgid "Remove the QoS policy attached to the port" +msgstr "Bağlantı noktasına eklenmiş QoS politikasını kaldır" + +msgid "Remove the QoS policy attached to this network" +msgstr "Bu ağa bağlı QoS politikasını kaldırın" + +msgid "Remove the encryption type for this volume type (admin oly)" +msgstr "Bu disk bölümü için şifreleme türünü sil (sadece yönetici)" + +msgid "Remove the encryption type for this volume type (admin only)" +msgstr "Bu disk bölümü türü için şifreleme türü kaldırıldı (sadece yönetici)" + +msgid "Remove user from group" +msgstr "Kullanıcıyı gruptan kaldır" + +msgid "Remove volume from server" +msgstr "Disk bölümünü sunucudan kaldır" + +msgid "Remove volume(s) from consistency group" +msgstr "Tutarlılık grubundan disk bölümlerini sil" + +msgid "Removes a role assignment from domain/project : user/group" +msgstr "Bir rol atamasını alan/proje : kullanıcı/gruptan kaldırır." + +msgid "Removes volume type access to project (name or ID) (admin only)" +msgstr "Projeye disk türü erişimini kaldırır (isim veya ID) (sadece yönetici)" + +msgid "Replicated volume to clone (name or ID)" +msgstr "Klonlanacak yinelenmiş disk bölümü (isim veya ID)" + +msgid "Request ID of the event to show (ID only)" +msgstr "Gösterilecek olayın ID'sini iste (sadece ID)" + +msgid "Request token to authorize (ID only) (required)" +msgstr "Yetkilendirilecek istek jetonu (sadece ID) (gerekli)" + +msgid "Request token to exchange for access token (required)" +msgstr "Erişim anahtarı alışverişi için istek jetonu (gerekli)" + +msgid "Requested fixed IP address" +msgstr "Sabit IP adresi iste" + +msgid "Reset the image membership to 'pending'" +msgstr "İmaj üyeliğini 'beklemede' olarak sıfırlayın" + +msgid "Resize server to specified flavor" +msgstr "Sunucuyu belirtilen flavor'a yeniden boyutlandır" + +msgid "Restore backup" +msgstr "Yedeği yeniden yükle" + +msgid "Restore server from rescue mode" +msgstr "Kurtarma kipinden sunucuyu onar" + +msgid "Restore server state before resize" +msgstr "Sunucu durumunu yeniden boyutlandırmadan önceki haline geri getir" + +msgid "Restore server(s)" +msgstr "Sunucu(ları/yu) onar " + +msgid "Restore volume backup" +msgstr "Disk bölümü yedeğini geri yükle" + +msgid "Resume server(s)" +msgstr "Sunucu(ları/yu) kaldığı yerden devam ettir" + +msgid "Return existing domain" +msgstr "Mevcut alanı döndür" + +msgid "Return existing group" +msgstr "Mevcut grubu döndür" + +msgid "Return existing project" +msgstr "Mevcut projeyi döndür" + +msgid "Return existing role" +msgstr "Mevcut rolü döndür" + +msgid "Return existing user" +msgstr "Mevcut kullanıcıyı döndür" + +msgid "" +"Return the auto allocated topology for a given project. Default is current " +"project" +msgstr "" +"Belirli bir proje için otomatik olarak ayrılan topolojiyi döndürür. " +"Varsayılan geçerli projedir" + +#, python-format +msgid "Returning existing domain %s" +msgstr "Mevcut alanı döndür %s" + +#, python-format +msgid "Returning existing group %s" +msgstr "Mevcut %s grubunu döndürme" + +#, python-format +msgid "Returning existing project %s" +msgstr "Mevcut %s projesi döndürülüyor" + +#, python-format +msgid "Returning existing role %s" +msgstr "Mevcut %s rol döndürülüyor" + +#, python-format +msgid "Returning existing user %s" +msgstr "Mevcut kullanıcıyı döndür %s" + +msgid "Returns only effective role assignments" +msgstr "Sadece verimli rol atamalarını döndür" + +msgid "Retype new password: " +msgstr "Yeni parolayı yeniden yaz: " + +msgid "Revoke existing token" +msgstr "Yeni jeton yayınla" + +msgid "" +"Role not added, incorrect set of arguments provided. See openstack --help " +"for more details" +msgstr "" +"Rol eklenmedi, hatalı argümanlar sağlandı. Daha fazla bilgi için openstack --" +"help komutunun çıktısına bakın." + +msgid "Role to add to : (name or ID)" +msgstr ":'a eklenecek rol (isim veya ID)" + +msgid "Role to add to (name or ID)" +msgstr " eklenecek rol (isim veya ID)" + +msgid "Role to display (name or ID)" +msgstr "Gösterilecek roller (isim veya ID)" + +msgid "Role to filter (name or ID)" +msgstr "Filtrelenecek rol (isim veya ID)" + +msgid "Role to modify (name or ID)" +msgstr "Düzenlenecek rol (isim veya ID)" + +msgid "Role to remove (name or ID)" +msgstr "Kaldırılacak rol (isim veya ID)" + +msgid "Role(s) to delete (name or ID)" +msgstr "Silinecek rol(ler) (isim veya ID)" + +msgid "" +"Roles to authorize (name or ID) (repeat option to set multiple values) " +"(required)" +msgstr "" +"Yetkilendirilecek roller (isim veya ID) (birden fazla değer ayarlamak için " +"seçeneği tekrarla) (gerekli)" + +msgid "" +"Roles to authorize (name or ID) (repeat option to set multiple values, " +"required)" +msgstr "" +"Yetkilendirilecek roller (isim veya ID) (birden fazla değer ayarlamak için " +"seçeneği tekrarlayın, gerekli)" + +msgid "Roll up items with " +msgstr "Elemanları ile toparla" + +msgid "" +"Route to be removed from this subnet e.g.: destination=10.10.0.0/16," +"gateway=192.168.71.254 destination: destination subnet (in CIDR notation) " +"gateway: nexthop IP address (repeat option to unset multiple host routes)" +msgstr "" +"Bu altağdan silinecek yön örn: hedef=10.10.0.0/16,geçit=192.168.71.254 hedef:" +"hedef altağ (CIDR notasyonunda) geçit: bir sonraki uğranacak IP adresi " +"(birden fazla sunucu yönü ayarı kaldırmak için seçeneği tekrar et)" + +#, python-format +msgid "Router does not contain route %s" +msgstr "Yönlendirici %s yönünü içermiyor" + +msgid "Router from which port will be removed (name or ID)" +msgstr "Bağlantı noktasının kaldırılacağı yönlendirici (isim veya ID)" + +msgid "Router from which the subnet will be removed (name or ID)" +msgstr "Alt ağdan kaldırılacak yönlendirici (isim veya ID)" + +msgid "Router to be added to an agent (name or ID)" +msgstr "Bir ajana eklenecek yönlendirici (ad veya kimlik)" + +msgid "Router to be removed from an agent (name or ID)" +msgstr "Bir ajandan kaldırılacak yönlendirici (ad veya kimlik)" + +msgid "Router to display (name or ID)" +msgstr "Gösterilecek yönlendirici (isim veya ID)" + +msgid "Router to modify (name or ID)" +msgstr "Düzenlenecek yönlendirici (isim veya ID)" + +msgid "Router to which port will be added (name or ID)" +msgstr "Bağlantı noktası eklenecek yönlendirici (isim veya ID)" + +msgid "Router to which subnet will be added (name or ID)" +msgstr "Alt ağın ekleneceği yönlendirici (isim veya ID)" + +msgid "Router(s) to delete (name or ID)" +msgstr "Silinecek yönlendirici(ler) (isim veya ID)" + +msgid "" +"Routes associated with the router destination: destination subnet (in CIDR " +"notation) gateway: nexthop IP address (repeat option to set multiple routes)" +msgstr "" +"Yönlendirici hedefi ile ilişkili yönlendiriciler: hedef altağ (CIDR " +"notasyonunda) geçit: bir sonraki atlanacak IP adresi (birden fazla " +"yönlendirici ayarlamak için seçeneği tekrarla)" + +msgid "" +"Routes to be removed from the router destination: destination subnet (in " +"CIDR notation) gateway: nexthop IP address (repeat option to unset multiple " +"routes)" +msgstr "" +"Yönlendirici hedefinden kaldırılacak yönlendiriciler: hedef alt ağ (CIDR " +"notasyonuyla) geçit: atlanacak sonraki IP adresi (birden fazla " +"yönlendiricinin ayarını kaldırmak için seçeneği tekrarla)" + +#, python-format +msgid "Rule ID %(rule_id)s not found" +msgstr "%(rule_id)s kural ID'si bulunamadı" + +msgid "Rule applies to incoming network traffic (default)" +msgstr "Gelen ağ trafiğine uygulanacak kural (varsayılan)" + +msgid "Rule applies to outgoing network traffic" +msgstr "Dışarıya doğru ağ trafiğine uygulanacak kural" + +#, python-format +msgid "Rule type \"%(rule_type)s\" only requires arguments %(args)s" +msgstr "\"%(rule_type)s\" kural türü sadece %(args)s argümanlarını gerektirir" + +msgid "SSH to server" +msgstr "Sunucuya SSH ile bağlan" + +msgid "Save an image locally" +msgstr "İmajı yerel olarak kaydet" + +msgid "Save container contents locally" +msgstr "Kap içeriğini yerel olarak kaydet" + +msgid "Save object locally" +msgstr "Nesneyi yerel olarak kaydet" + +msgid "" +"Scale server to a new flavor.\n" +"\n" +"A resize operation is implemented by creating a new server and copying the\n" +"contents of the original disk into a new one. It is also a two-step process " +"for\n" +"the user: the first is to perform the resize, the second is to either " +"confirm\n" +"(verify) success and release the old server, or to declare a revert to " +"release\n" +"the new server and restart the old one." +msgstr "" +"Sunucuyu yeni bir flavor'a ölçekle.\n" +"\n" +"Bir yeniden boyutlandırma işlemi yeni bir sunucu oluşturma ve orijinal \n" +"diskteki içeriğin yeni bir tanesine kopyalanması ile gerçekleştirilir. Bu " +"ayrıca\n" +"kullanıcı için iki adımlı bir süreçtir: birincisi yeniden boyutlandırmayı " +"gerçekleştirmek,\n" +"ikincisi ya başarılı olduğunu doğrulamak ve eski sunucuyu silmek, ya da " +"yenisini silip\n" +"eskisini yeniden başlatma isteğini belirtmek." + +msgid "Search by flavor (name or ID)" +msgstr "Flavor'a göre ara (isim veya ID)" + +msgid "Search by hostname" +msgstr "Sunucu adına göre ara" + +msgid "Search by image (name or ID)" +msgstr "İmaja göre ara (isim veya ID)" + +msgid "Search by project (admin only) (name or ID)" +msgstr "Projeye göre ara (sadece yönetici) (isim veya ID)" + +msgid "Search by server status" +msgstr "Sunucu durumuna göre ara" + +msgid "Search by user (admin only) (name or ID)" +msgstr "Kullanıcıya göre ara (sadece yönetici) (isim veya ID)" + +msgid "Secret associated with (required)" +msgstr " ile ilişkili gizli anahtar (gerekli)" + +msgid "Security group description" +msgstr "Güvenlik grubu açıklaması" + +msgid "Security group rule to display (ID only)" +msgstr "Gösterilecek güvenlik grubu kuralları (sadece ID)" + +msgid "Security group rule(s) to delete (ID only)" +msgstr "Silinecek güvenlik grubu kuralları (sadece ID)" + +msgid "Security group to add (name or ID)" +msgstr "Eklenecek güvenlik grubu (isim veya ID)" + +msgid "" +"Security group to assign to this server (name or ID) (repeat option to set " +"multiple groups)" +msgstr "" +"Bu sunucuya atanan güvenlik grubu (isim veya ID) (birden fazla grup " +"ayarlamak için seçeneği tekrar edin)" + +msgid "" +"Security group to associate with this port (name or ID) (repeat option to " +"set multiple security groups)" +msgstr "" +"Bu bağlantı noktası ile ilişkilendirilecek güvenlik grubu (isim veya ID) " +"(birden fazla güvenlik grubu ayarlamak için seçeneği tekrarla)" + +msgid "Security group to display (name or ID)" +msgstr "Gösterilecek güvenlik grubu (isim veya ID)" + +msgid "Security group to modify (name or ID)" +msgstr "Düzenlenecek güvenlik grubu (isim veya ID)" + +msgid "" +"Security group which should be removed this port (name or ID) (repeat option " +"to unset multiple security groups)" +msgstr "" +"Bu bağlantı noktasının kaldırılması gereken güvenlik grubu (isim veya ID) " +"(birden fazla güvenlik grubunun ayarını kaldırmak için seçeneği tekrarla)" + +msgid "Security group(s) to delete (name or ID)" +msgstr "Silinecek güvenlik grubu (isim veya ID)" + +msgid "" +"Segment identifier for this network segment which is based on the network " +"type, VLAN ID for vlan network type and tunnel ID for geneve, gre and vxlan " +"network types" +msgstr "" +"Ağ türüne göre bölüm belirteci, vlan ağ türü için VLAN ID, geneve, gre ve " +"vxlan ağ türleri için tünel ID" + +msgid "Select an availability zone for the server" +msgstr "Sunucu için kullanılabilirlik bölgesi seçin" + +msgid "Server (name or ID)" +msgstr "Sunucu (isim veya ID)" + +msgid "Server internal device name for volume" +msgstr "Disk bölümü için sunucu dahili aygıt ismi" + +msgid "Server to add the port to (name or ID)" +msgstr "Bağlantı noktası eklenecek sunucu (isim veya ID)" + +msgid "Server to back up (name or ID)" +msgstr "Yedeklenecek sunucu (isim veya ID)" + +msgid "Server to create image (name or ID)" +msgstr "İmaj oluşturulacak sunucu (isim veya ID)" + +msgid "Server to list events (name or ID)" +msgstr "Olayları listelenecek sunucu (isim veya ID)" + +msgid "Server to receive the IP address (name or ID)" +msgstr "IP adresin alınacağı sunucu (isim veya ID)" + +msgid "Server to receive the fixed IP address (name or ID)" +msgstr "Sabit IP adresleri alınacak sunucu (isim veya ID)" + +msgid "Server to receive the floating IP address (name or ID)" +msgstr "Kayan IP adresi alınacak sunucu (isim veya ID)" + +msgid "Server to remove the IP address from (name or ID)" +msgstr "IP adresin kaldırılacağı sunucu (isim veya ID)" + +msgid "Server to remove the fixed IP address from (name or ID)" +msgstr "Sabit IP adresin silineceği sunucu (isim veya ID)" + +msgid "Server to remove the floating IP address from (name or ID)" +msgstr "Kayan IP adresinin kaldırılacağı sunucu (isim veya ID)" + +msgid "Server to remove the port from (name or ID)" +msgstr "Bağlantı noktasının kaldırılacağı sunucu (isim veya ID)" + +msgid "Server to show URL (name or ID)" +msgstr "URL'i gösterilecek sunucu (isim veya ID)" + +msgid "Server to show console log (name or ID)" +msgstr "Konsol günlüğü gösterilecek sunucu (isim veya ID)" + +msgid "Server to show event details (name or ID)" +msgstr "Olay detayları gösterilecek sunucu (isim veya ID)" + +msgid "Server(s) to create dump file (name or ID)" +msgstr "Çıktı dosyası oluşturulacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to delete (name or ID)" +msgstr "Silinecek sunucu(lar) (isim veya ID)" + +msgid "Server(s) to lock (name or ID)" +msgstr "Kilitlenecek sunucu(lar) (isim veya ID)" + +msgid "Server(s) to pause (name or ID)" +msgstr "Durdurulacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to restore (name or ID)" +msgstr "Onarılacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to resume (name or ID)" +msgstr "Devam ettirilece sunucu(lar) (isim veya ID)" + +msgid "Server(s) to shelve (name or ID)" +msgstr "Rafa kaldırılacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to start (name or ID)" +msgstr "Başlatılacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to stop (name or ID)" +msgstr "Durdurulacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to suspend (name or ID)" +msgstr "Durdurulacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to unlock (name or ID)" +msgstr "Kilidi kaldırılacak sunucu(lar) (isim veya ID)" + +msgid "Server(s) to unpause (name or ID)" +msgstr "Devam ettirilecek sunucu(lar) (isim veya ID)" + +msgid "Server(s) to unshelve (name or ID)" +msgstr "Alınacak sunucu(lar) (isim veya ID)" + +msgid "Service profile (ID only)" +msgstr "Servis profili (sadece ID)" + +msgid "Service provider to display" +msgstr "Gösterilecek servis sağlayıcı" + +msgid "Service provider to modify" +msgstr "Düzenlenecek servis sağlayıcı" + +msgid "Service provider(s) to delete" +msgstr "Silinecek servis sağlayıcı(lar)" + +msgid "Service to be associated with new endpoint (name or ID)" +msgstr "Yeni uç nokta ile ilişkilendirilecek servis (isim veya ID)" + +msgid "Service to display (type or name)" +msgstr "Gösterilecek servis (tür veya isim)" + +msgid "Service to display (type, name or ID)" +msgstr "Gösterilecek servis (tür, isim veya ID)" + +msgid "Service to modify (type, name or ID)" +msgstr "Düzenlenecek servis (tür, isim veya ID)" + +msgid "" +"Service type for this subnet e.g.: network:floatingip_agent_gateway. Must be " +"a valid device owner value for a network port (repeat option to set multiple " +"service types)" +msgstr "" +"Bu alt ağ için servis türü örn: network:floatingip_agent_gateway. Bir ağ " +"bağlantı noktası için geçerli bir cihaz sahibi değeri olmalıdır (birden " +"fazla servis türü ayarlamak için seçeneği tekrarlayın)" + +msgid "" +"Service type to be removed from this subnet e.g.: network:" +"floatingip_agent_gateway. Must be a valid device owner value for a network " +"port (repeat option to unset multiple service types)" +msgstr "" +"Bu altağdan kaldırılacak servis türü örn: network:floatingip_agent_gateway. " +"Bir ağ bağlantı noktası için geçerli bir aygıt sahibi değeri olmalıdır " +"(birden fazla servis türünün ayarını kaldırmak için seçeneği tekrarlayın)" + +msgid "" +"Service type to which the flavor applies to: e.g. VPN (See openstack network " +"service provider list for loaded examples.)" +msgstr "" +"Flavor'ın uygulanacağı hizmet türü: ör. VPN (Yüklü sunucular için açık devre " +"ağ servis sağlayıcısı listesine bakın.)" + +msgid "Service(s) to delete (type, name or ID)" +msgstr "Silinecek servis(ler) (tür, isim veya ID)" + +msgid "Set DNS name to this port (requires DNS integration extension)" +msgstr "" +"DNS adını bu bağlantı noktasına ayarlayın (DNS entegrasyon uzantısı " +"gerektirir)" + +msgid "Set Network QoS rule properties" +msgstr "Ağ QoS kural özelliklerini ayarla" + +msgid "Set QoS policy name" +msgstr "QoS ilke adı ayarla" + +msgid "Set QoS policy properties" +msgstr "QoS ilke özelliklerini ayarla" + +msgid "Set QoS specification properties" +msgstr "QoS özellik özelliğini ayarla" + +msgid "" +"Set a QoS specification property (repeat option to set multiple properties)" +msgstr "" +"Bir QoS özellik özelliği ayarla (birden fazla özellik ayarlamak için " +"seçeneği tekrarla)" + +msgid "Set a project property (repeat option to set multiple properties)" +msgstr "" +"Bir proje özelliği ayarla (birden fazla özellik ayarlamak için seçeneği " +"tekrarla)" + +msgid "Set a property on (repeat option to set multiple properties)" +msgstr "" +" üzerinde bir özellik ayarla (birden fazla özellik ayarlamak için " +"seçeneği tekrarla)" + +msgid "" +"Set a property on this account (repeat option to set multiple properties)" +msgstr "" +"Bu hesap üzerindeki özelliği ayarla (birden fazla özellik ayarlamak için " +"seçeneği tekrarla)" + +msgid "" +"Set a property on this container (repeat option to set multiple properties)" +msgstr "" +"Bu kap üzerinde bir özellik ayarla (birden fazla özellik ayarlamak için " +"seçenekleri tekrarla)" + +msgid "Set a property on this image (repeat option to set multiple properties)" +msgstr "" +"Bu imaj üzerindeki bir özelliği ayarla (birden fazla özellik ayarlamak için " +"seçeneği tekrarla)" + +msgid "" +"Set a property on this object (repeat option to set multiple properties)" +msgstr "" +"Bu nesne üzerinde bir özellik ayarla (birden fazla özellik ayarlamak için " +"seçeneği tekrarla)" + +msgid "Set a property on this server (repeat option to set multiple values)" +msgstr "" +"Bu sunucuda bir özellik ayarlayın (birden fazla değeri ayarlamak için " +"seçeneği tekrarlayın)" + +msgid "" +"Set a property on this volume (repeat option to set multiple properties)" +msgstr "" +"Bu disk bölümü üzerinde bir özellik ayarla (birden fazla özellik ayarlamak " +"için seçeneği tekrarla)" + +msgid "" +"Set a property on this volume type (repeat option to set multiple properties)" +msgstr "" +"Bu disk bölümü türü üzerinde bir özellik ayarla (birden fazla özellik " +"ayarlamak için seçeneği tekrarla)" + +msgid "" +"Set a property to this snapshot (repeat option to set multiple properties)" +msgstr "" +"Bu anlık görüntü için bir özellik ayarla (birden fazla özellikleri ayarlamak " +"için seçeneği tekrarla)" + +msgid "" +"Set a property to this volume (repeat option to set multiple properties)" +msgstr "" +"Bu disk bölümüne bir özellik ayarla (birden fazla özellik ayarlamak için " +"seçeneği tekrarlayın)" + +msgid "Set a tag on this image (repeat option to set multiple tags)" +msgstr "" +"Bu imaj üzerinde bir etiket oluştur (birden fazla etiket oluşturmak için " +"seçeneği tekrarla)" + +msgid "Set account properties" +msgstr "Hesap özelliklerini ayarla" + +msgid "" +"Set address scope associated with the subnet pool (name or ID), prefixes " +"must be unique across address scopes" +msgstr "" +"Alt ağ havuzuyla ilişkili adres kapsamını ayarla (isim veya ID), öneklerin " +"adres kapsamları arasında benzersiz olması gerekir" + +msgid "Set address scope name" +msgstr "Adres kapsamı adını ayarla" + +msgid "Set address scope properties" +msgstr "Adres kapsamı özelliklerini ayarlama" + +msgid "Set aggregate name" +msgstr "Küme ismini ayarla" + +msgid "Set aggregate properties" +msgstr "Küme özelliklerini ayarla" + +msgid "Set an alternate project on this image (name or ID)" +msgstr "Bu imaj üzerinde alternatif bir proje ayarla (isim veya ID)" + +msgid "" +"Set an image property on this volume (repeat option to set multiple image " +"properties)" +msgstr "" +"Bu disk bölümü üzerinde imaj özelliği ayarla (birden fazla imaj özelliği " +"ayarlamak için seçeneği tekrarla)" + +msgid "Set availability zone name" +msgstr "Kullanılabilirlik bölge adını ayarla" + +msgid "Set compute agent properties" +msgstr "Hesaplama ajanı özelliklerini ayarla" + +msgid "Set compute service properties" +msgstr "Hesaplama servisi özelliklerini ayarla" + +msgid "Set consistency group properties" +msgstr "Tutarlılık grubu özelliklerini ayarla" + +msgid "Set consumer properties" +msgstr "Alıcı özelliklerini ayarla" + +msgid "Set container properties" +msgstr "Kap özelliklerini ayarla" + +msgid "Set credential properties" +msgstr "Kimlik bilgileri özelliklerini ayarla" + +msgid "" +"Set data plane status of this port (ACTIVE | DOWN). Unset it to None with " +"the 'port unset' command (requires data plane status extension)" +msgstr "" +"Bu bağlantı noktasının veri düzlemi durumunu ayarlayın (ACTIVE | DOWN). " +"'port unset' komutu ile None'a getirin (veri düzlemi durum uzantısı " +"gerektirir)" + +msgid "Set default project (name or ID)" +msgstr "Varsayılan projeyi ayarla (isim veya ID)" + +msgid "" +"Set default quota for subnet pool as the number ofIP addresses allowed in a " +"subnet" +msgstr "" +"Bir alt ağda izin verilen IP adreslerinin sayısı olarak alt ağ havuzu için " +"varsayılan kota ayarla" + +msgid "Set domain properties" +msgstr "Alan özelliklerini ayarla" + +msgid "Set endpoint properties" +msgstr "Uç nokta özellikleri ayarla" + +msgid "Set federation protocol properties" +msgstr "Federasyon protokolü özelliklerini ayarla" + +msgid "Set flavor access to project (name or ID) (admin only)" +msgstr "Projeye flavor erişimi ayarla (isim veya ID) (sadece yönetici)" + +msgid "Set flavor name" +msgstr "Flavor ismi tanımla" + +msgid "Set flavor properties" +msgstr "Flavor özelliklerini ayarla" + +msgid "Set floating IP Properties" +msgstr "Yüzen IP özelliklerini ayarla" + +msgid "Set floating IP description" +msgstr "Yüzen IP açıklaması ayarla" + +msgid "Set group properties" +msgstr "Grup özelliklerini ayarla" + +msgid "Set host properties" +msgstr "Sunucu özelliklerini ayarla" + +msgid "Set identity provider description" +msgstr "Kimlik sağlayıcı tanımlarını ayarla" + +msgid "Set identity provider properties" +msgstr "Kimlik sağlayıcı özelliklerini ayarla" + +msgid "Set image properties" +msgstr "İmaj özelliklerini ayarla" + +msgid "Set mapping properties" +msgstr "Eşleşme özelliklerini ayarla" + +msgid "Set network RBAC policy properties" +msgstr "Ağ RBAC ilke özelliklerini ayarlama" + +msgid "Set network agent description" +msgstr "Ağ aracı açıklaması ayarla" + +msgid "Set network agent properties" +msgstr "Ağ ajanı özelliklerini ayarla" + +msgid "Set network description" +msgstr "Ağ açıklamasını ayarla" + +msgid "Set network flavor description" +msgstr "Ağ flavor açıklamasını ayarla" + +msgid "Set network flavor profile properties" +msgstr "Ağ flavor profil özelliklerini ayarla" + +msgid "Set network flavor properties" +msgstr "Ağ flavor'ının özelliklerini ayarla" + +msgid "Set network name" +msgstr "Ağ ismini ayarla" + +msgid "Set network properties" +msgstr "Ağ özelliklerini ayarla" + +msgid "Set network segment description" +msgstr "Ağ kesimi açıklamasını ayarla" + +msgid "Set network segment name" +msgstr "Ağ bölüm ismi ayarla" + +msgid "Set network segment properties" +msgstr "Ağ kesimi özelliklerini ayarla" + +msgid "Set new root password (interactive only)" +msgstr "Yeni root parolası ayarla (sadece interaktif)" + +msgid "Set object properties" +msgstr "Nesne özelliklerini ayarla" + +msgid "Set policy properties" +msgstr "Politika özelliklerini ayarla" + +msgid "Set port name" +msgstr "Bağlantı noktası ismini ayarla" + +msgid "Set port properties" +msgstr "Bağlantı noktaları özelliklerini ayarla" + +msgid "Set project description" +msgstr "Proje açıklamasını ayarla" + +msgid "Set project name" +msgstr "Proje ismini ayarla" + +msgid "Set project properties" +msgstr "Proje özelliklerini ayarla" + +msgid "Set quotas for " +msgstr " için kotaları ayarla" + +msgid "Set quotas for a specific " +msgstr "Belirli bir için kota ayarla" + +msgid "Set quotas for project or class" +msgstr "Proje veya sınıf için kotaları ayarla" + +msgid "Set quotas for this project or class (name/ID)" +msgstr "Bu proje veya sınıf için (isim/ID) kotaları ayarla" + +msgid "Set region properties" +msgstr "Bölgenin özelliklerini ayarla" + +msgid "Set role name" +msgstr "Rol ismini ayarla" + +msgid "Set role properties" +msgstr "Rol özelliklerini ayarla" + +msgid "Set router description" +msgstr "Yönlendirici açıklaması ayarla" + +msgid "Set router name" +msgstr "Yönlendirici isimini ayarla" + +msgid "Set router properties" +msgstr "Yönlendirici özelliklerini ayarla" + +msgid "Set router to centralized mode (disabled router only)" +msgstr "" +"Yönlendiriciyi merkezi kipe ayarla (sadece devre dışı bırakılmış " +"yönlendiriciler)" + +msgid "Set router to distributed mode (disabled router only)" +msgstr "" +"Yönlendiriciyi dağıtık kipte ayarla (sadece devre dışı bırakılmış " +"yönlendiriciler)" + +msgid "Set security group properties" +msgstr "Güvenlik grubu özelliklerini ayarla" + +msgid "Set security group rule description" +msgstr "Güvenlik grubu kural tanımını ayarla" + +msgid "Set server properties" +msgstr "Sunucu özelliklerini ayarla" + +msgid "Set service properties" +msgstr "Servis özelliklerini ayarla" + +msgid "Set service provider properties" +msgstr "Servis sağlayıcı özelliklerini ayarlayın" + +msgid "Set snapshot properties" +msgstr "Anlık görüntü özelliklerini ayarlayın" + +msgid "Set subnet description" +msgstr "Alt ağ açıklaması ayarla" + +msgid "Set subnet pool default prefix length" +msgstr "Alt ağ havuzu varsayılan ön ek boyutunu ayarla " + +msgid "Set subnet pool description" +msgstr "Alt ağ havuzu açıklaması ayarla" + +msgid "Set subnet pool maximum prefix length" +msgstr "Alt ağ havuzu en büyük ön ek boyutunu ayarla" + +msgid "Set subnet pool minimum prefix length" +msgstr "Altağ havuzunun en küçün ön ek boyutunu ayarla" + +msgid "Set subnet pool name" +msgstr "Alt ağ havuz ismini ayarla" + +msgid "" +"Set subnet pool prefixes (in CIDR notation) (repeat option to set multiple " +"prefixes)" +msgstr "" +"Alt ağ havuzu öneklerini ayarla (CIDR notasyonunda) (birden fazla ön ek " +"ayarlamak için seçeneği tekrarla)" + +msgid "Set subnet pool properties" +msgstr "Alt ağ havuzu özellikleri ayarla" + +msgid "Set subnet properties" +msgstr "Altağ özelliklerini ayarla" + +msgid "" +"Set the class that provides encryption support for this volume type (e.g " +"\"LuksEncryptor\") (admin only) (This option is required when setting " +"encryption type of a volume for the first time. Consider using other " +"encryption options such as: \"--encryption-cipher\", \"--encryption-key-size" +"\" and \"--encryption-control-location\")" +msgstr "" +"Bu birim türü için şifreleme desteği sağlayan sınıfı ayarlayın (örn " +"\"LuksEncryptor\") (sadece yönetici) (Bu seçenek, bir disk bölümü şifreleme " +"türünü ilk kez ayarlarken gereklidir. Şu diğer şifreleme seçeneklerini " +"kullanmayı düşünün: \"--encryption-cipher\", \"--encryption-key-size\" ve " +"\"--encryption-control-location\")" + +msgid "" +"Set the class that provides encryption support for this volume type (e.g " +"\"LuksEncryptor\") (admin only) (This option is required when setting " +"encryption type of a volume. Consider using other encryption options such " +"as: \"--encryption-cipher\", \"--encryption-key-size\" and \"--encryption-" +"control-location\")" +msgstr "" +"Bu disk bölümü türü için şifreleme desteği sağlayan sınıfı ayarla (örn " +"\"LuksEncryptor\") (sadece yönetici) (Bir disk bölümünün şifreleme türü " +"ayarlanırken bu seçenek zorunludur. \"--encryption-cipher\", \"--encryption-" +"key-size\" ve \"--encryption-control-location\" gibi diğer şifreleme " +"seçeneklerini kullanmayı göz önünde bulundurun)" + +msgid "" +"Set the encryption algorithm or mode for this volume type (e.g \"aes-xts-" +"plain64\") (admin only)" +msgstr "" +"Bu disk bölümü türü için şifreleme algoritmasını veya kipini ayarla (örn " +"\"aes-xts-plain64\") (sadece yönetici)" + +msgid "Set the network as the default external network" +msgstr "Ağı varsayılan dış ağ olarak ayarlayın" + +msgid "" +"Set the notional service where the encryption is performed (\"front-end\" or " +"\"back-end\") (admin only) (The default value for this option is \"front-end" +"\" when setting encryption type of a volume for the first time. Consider " +"using other encryption options such as: \"--encryption-cipher\", \"--" +"encryption-key-size\" and \"--encryption-provider\")" +msgstr "" +"Şifrelemenin yapıldığı kavramsal servisi ayarla (\"front-end\" veya \"back-" +"end\") (sadece yönetici) (Disk bölümü türü şifrelemesi ilk kez ayarlanırken " +"bu seçenek için varsayılan değer \"front-end\"dir. Şu diğer şifreleme " +"seçenelerini kullanmayı düşünün: \"--encryption-cipher\", \"--encryption-key-" +"size\" ve \"--encryption-provider\")" + +msgid "" +"Set the notional service where the encryption is performed (\"front-end\" or " +"\"back-end\") (admin only) (The default value for this option is \"front-end" +"\" when setting encryption type of a volume. Consider using other encryption " +"options such as: \"--encryption-cipher\", \"--encryption-key-size\" and \"--" +"encryption-provider\")" +msgstr "" +"Şifrelemenin gerçekleştirildiği kavramsal servisi ayarla (\"front-end\" veya " +"\"back-end\") (sadece yönetici) (Bir disk bölümünün şifreleme türü " +"ayarlanırken bu seçenek için varsayılan değer \"front-end\"'dir. \"--" +"encryption-cipher\", \"--encryption-key-size\" ve \"--encryption-provider\" " +"gibi diğer şifreleme seçeneklerini kullanmayı göz önünde bulundurun)" + +msgid "Set the password on the rebuilt instance" +msgstr "Yeniden oluşturulmuş sunucudaki parolayı ayarla" + +msgid "Set the router as highly available (disabled router only)" +msgstr "" +"Yönlendiriciyi yüksek kullanılabilirlikli olarak ayarla (sadece " +"yönlendiriciyi devre dışı bırak)" + +msgid "" +"Set the size of the encryption key of this volume type (e.g \"128\" or " +"\"256\") (admin only)" +msgstr "" +"Bu disk bölümü türünün şifreleem anahtarı boyutunu ayarla (örn \"128\" veya " +"\"256\") (sadece yönetici)" + +msgid "Set the type of volume" +msgstr "Disk bölümü türünü ayarla" + +msgid "Set this as a default network QoS policy" +msgstr "Bunu varsayılan bir ağ QoS politikası olarak ayarla" + +msgid "Set this as a default subnet pool" +msgstr "Bunu varsayılan altağ havuzunu ayarla" + +msgid "Set this as a non-default network QoS policy" +msgstr "Bunu varsayılan olmayan bir ağ QoS politikası olarak ayarla" + +msgid "Set this as a non-default subnet pool" +msgstr "Bunu varsayılan olmayan altağ havuzu olarak ayarla" + +msgid "" +"Set this network as an external network (external-net extension required)" +msgstr "" +"Bu şebekeyi harici bir ağ olarak ayarlayın (harici ağ uzantısı gerekir)" + +msgid "Set this network as an internal network" +msgstr "Bu şebekeyi dahili bir şebeke olarak ayarlayın" + +msgid "Set this network as an internal network (default)" +msgstr "Bu ağı dahili bir ağ olarak ayarlayın (varsayılan)" + +msgid "Set this subnet pool as not shared" +msgstr "Bu alt ağ havuzunu paylaşılmayan olarak ayarlayın" + +msgid "Set this subnet pool as shared" +msgstr "Bu alt ağ havuzunu paylaşılan olarak ayarla" + +msgid "Set user description" +msgstr "Kullanıcı tanımını ayarla" + +msgid "Set user email address" +msgstr "Kullanıcı e-posta adresini ayarla" + +msgid "Set user name" +msgstr "Kullanıcı adını ayarla" + +msgid "Set user password" +msgstr "Kullanıcı parolası ayarla" + +msgid "Set user properties" +msgstr "Kullanıcı özelliklerini ayarla" + +msgid "Set volume backup properties" +msgstr "Disk bölümü yedek özelliklerini ayarla" + +msgid "Set volume host properties" +msgstr "Disk bölümü sunucu özelliklerini ayarla" + +msgid "Set volume properties" +msgstr "Disk bölümü özelliklerini ayarla" + +msgid "Set volume service properties" +msgstr "Disk bölümü servisi özelliklerini ayarla" + +msgid "Set volume snapshot properties" +msgstr "Disk bölümü anlık görüntüsü özelliklerini ayarla" + +msgid "Set volume to read-only access mode" +msgstr "Disk bölümünü salt okunur kipine ayarla" + +msgid "Set volume to read-write access mode" +msgstr "Disk bölümünü okuma yazma erişimi kipine ayarla" + +msgid "Set volume to read-write access mode (default)" +msgstr "Okuma-yazma erişim kipine disk bölümüne ayarla (varsayılan)" + +msgid "Set volume type access to project (name or ID) (admin only)" +msgstr "" +"Projeye disk bölümü türü erişimini ayarla (isim veya ID) (sadece yönetici)" + +msgid "Set volume type description" +msgstr "Disk bölümü türü açıklamasını ayarla" + +msgid "Set volume type name" +msgstr "Disk bölüm türü ismini ayarla" + +msgid "Set volume type properties" +msgstr "Disk bölümü türü özelliklerini ayarla" + +msgid "Sets an expiration date for the trust (format of YYYY-mm-ddTHH:MM:SS)" +msgstr "" +"Güven için son kullanma tarihi ayarlayın (YYYY-mm-ddTHH:MM:SS biçiminde)" + +msgid "Share meter between projects" +msgstr "Sayacı projeler arasında paylaş" + +msgid "Share the address scope between projects" +msgstr "Projeler arasında adres kapsamını paylaş" + +msgid "Share the network between projects" +msgstr "Ağları projeler arasında paylaşın" + +msgid "Shelve server(s)" +msgstr "Sunucu(yu/ları) raftan çıkart" + +msgid "Show API extension" +msgstr "API uzantısını göster" + +msgid "Show IP availability for a specific network (name or ID)" +msgstr "Belirli bir ağ için IP kullanılabilirliğini göster (isim veya ID)" + +msgid "Show RDP console URL" +msgstr "RDP konsol URL'ini göster" + +msgid "Show SPICE console URL" +msgstr "SPICE konsol URL'ini göster" + +msgid "Show WebMKS console URL" +msgstr "WebMKS konsol URL'ini göster" + +msgid "Show absolute limits" +msgstr "Mutlak sınırları göster" + +msgid "Show all modules that have version information" +msgstr "Sürüm bilgisine sahip tüm modülleri göster" + +msgid "" +"Show commands filtered by a command group, for example: identity, volume, " +"compute, image, network and other keywords" +msgstr "" +"Komutları bir komut grubu tarafından filtrelenmiş halde göster, örneğin: " +"kimlik, disk bölümü, hesaplama, imaj, ağ ve diğer anahtar kelimeler" + +msgid "Show compute and block storage limits" +msgstr "Hesaplama ve blok depolama sınırlarını göster" + +msgid "Show credentials for user (name or ID)" +msgstr "Kullanıcılar için kimlik bilgilerini göster (isim veya ID)" + +msgid "Show default quotas for " +msgstr " için varsayılan kotaları göster" + +msgid "Show detail for all projects (admin only) (defaults to False)" +msgstr "" +"Tüm projeler için detayları göster (sadece yönetici) (varsayılan olarak " +"False)" + +msgid "Show details for all projects. Admin only. (defaults to False)" +msgstr "" +"Tüm projeler için detayları göster. Sadece yönetici. (varsayılan olarak " +"False)" + +msgid "" +"Show limits for a specific project (name or ID) [only valid with --absolute]" +msgstr "" +"Belirli bir proje için sınırları göster (isim veya ID) [sadece --absolute " +"ile geçerli]" + +msgid "Show network IP availability details" +msgstr "Ağ IP kullanılabilirlik detaylarını göster" + +msgid "Show network details" +msgstr "Ağ detaylarını göster" + +msgid "Show network meter" +msgstr "Ağ ölçeklerini göster" + +msgid "Show noVNC console URL (default)" +msgstr "noVNC konsol URL'ini göster (varsayılan)" + +msgid "Show only bare public key paired with the generated key" +msgstr "" +"Yalnızca oluşturulan anahtarla eşleştirilmiş çıplak genel anahtarı göster" + +msgid "Show password in clear text" +msgstr "Parolaları düz metin olarak göster" + +msgid "Show project's subtree (children) as a list" +msgstr "Projenin alt projelerini (çocuklarını) bir liste olarak göster" + +msgid "Show quotas for " +msgstr " için kotaları göster" + +msgid "Show quotas for project or class" +msgstr "Proje veya sınıf için kotaları göster" + +msgid "Show quotas for this project or class (name or ID)" +msgstr "Bu proje veya sınıf (isim veaya ID) için kotaları göster" + +msgid "Show rate limits" +msgstr "Oran sınırları göster" + +msgid "Show resource usage for a single project" +msgstr "Tek bir proje için kaynak kullanımını göster" + +msgid "Show serial console URL" +msgstr "serial konsol URL'ini göster" + +msgid "Show server details" +msgstr "Sunucu detaylarını göster" + +msgid "Show server event details" +msgstr "Sunucu olay detaylarını listele" + +msgid "Show server's console output" +msgstr "Sunucunun konsol çıktısını göster" + +msgid "Show server's remote console URL" +msgstr "Sunucunun uzak konsol URL'ini göster" + +msgid "Show service catalog information" +msgstr "Servis katalog bilgisini göster" + +msgid "Show the project's parents as a list" +msgstr "Projenin üst projelerini bir liste olarak göster" + +msgid "Show volume details" +msgstr "Disk bölümü detaylarını göster" + +msgid "Show volume transfer request details." +msgstr "Disk bölümü aktarım isteği detaylarını göster." + +msgid "Show xvpvnc console URL" +msgstr "xvpvnc konsol URL'ini göster" + +msgid "Size of image data (in bytes)" +msgstr "İmaj verisinin boyutu (bayt cinsinden)" + +msgid "Skip flavor and image name lookup." +msgstr "Flavor veya imaj ismi aramasını atla." + +msgid "Snapshot to backup (name or ID)" +msgstr "Yedeği alınacak anlık görüntü (isim veya ID)" + +msgid "Snapshot to display (name or ID)" +msgstr "Gösterilecek anlık görüntü (isim veya ID)" + +msgid "Snapshot to modify (name or ID)" +msgstr "Düzenlenecek anlık görüntü (isim veya ID)" + +msgid "Snapshot(s) to delete (name or ID)" +msgstr "Silinecek anlık görüntü(ler) (isim veya ID)" + +msgid "" +"Sort output by selected keys and directions (asc or desc) (default: asc), " +"repeat this option to specify multiple keys and directions." +msgstr "" +"Çıktıyı seçilen anahtarlara ve yönlere göre sırala (artan veya azalan) " +"(varsayılan: artan), birden çok anahtar ve yön belirlemek için bu seçeneği " +"tekrarlayın." + +msgid "" +"Sort output by selected keys and directions(asc or desc) (default: name:" +"asc), multiple keys and directions can be specified separated by comma" +msgstr "" +"Çıktıyı seçilen tuşlara ve yönlere göre sırala (artan veya azalan) " +"(varsayılan: ad:artan), virgülle ayrılmış olarak birden çok anahtar ve yön " +"belirlenebilir" + +msgid "Specific service endpoint to use" +msgstr "Kullanılacak belirli bir servis uç noktası" + +msgid "Specifies if the role grant is inheritable to the sub projects" +msgstr "" +"Rol atamasının alt projelere miras bırakılıp bırakılmayacağını belirler" + +msgid "" +"Specify a gateway for the subnet. The three options are: : " +"Specific IP address to use as the gateway, 'auto': Gateway address should " +"automatically be chosen from within the subnet itself, 'none': This subnet " +"will not use a gateway, e.g.: --gateway 192.168.9.1, --gateway auto, --" +"gateway none (default is 'auto')." +msgstr "" +"Alt ağ için bir geçit belirle. Üç seçenek: : geçit olarak " +"kullanılacak belirli bir IP adresi, 'auto': Geçit adresi ağdan otomatik " +"olarak seçilmelidir, 'none': Bu alt ağ bir geçit kullanmayacak, örn: --" +"gateway 192.168.9.1, --gateway auto, --gateway none (varsayılan 'auto')." + +msgid "" +"Specify a gateway for the subnet. The options are: : Specific IP " +"address to use as the gateway, 'none': This subnet will not use a gateway, e." +"g.: --gateway 192.168.9.1, --gateway none." +msgstr "" +"Alt ağ için bir geçit belirle. Seçenekler: : Geçit olarak " +"kullanılacak belirli bir IP adresi, 'none': Bu alt ağ geçit olarak " +"kullanılmayacak, örn: --gateway 192.168.9.1, --gateway none." + +msgid "Specify an alternate project (name or ID)" +msgstr "Alternatif bir proje belirle (isim veya ID)" + +msgid "Specify an alternate user (name or ID)" +msgstr "Alternatif bir kullanıcı belirle (isim veya ID)" + +msgid "Specify if this network should be used as the default external network" +msgstr "" +"Bu ağın varsayılan dış ağ olarak kullanılması gerekip gerekmediğini " +"belirleyin" + +msgid "" +"Specifying a --nic of auto or none cannot be used with any other --nic, --" +"network or --port value." +msgstr "" +"auto veya none --nic'i belirtmek başka bir --nic, --network veya --port " +"değeriyle kullanılamaz." + +msgid "" +"Specifying the auth-key as a positional argument has been deprecated. " +"Please use the --auth-key option in the future." +msgstr "" +"Yetki anahtarını pozisyonel argüman olarak belirleme kullanımdan " +"kaldırıldı. Lütfen gelecekte --auth-key seçeneğini kullanın." + +msgid "Start server(s)." +msgstr "Sunucu(ları/yu) başlat." + +msgid "Stop server(s)." +msgstr "Sunucu(ları/yu) durdur." + +#, python-format +msgid "Subnet does not contain %(option)s %(value)s" +msgstr "Ağ %(option)s %(value)s'yü içermiyor" + +msgid "Subnet on which you want to create the floating IP (name or ID)" +msgstr "Yüzen IP'yi oluşturmak istediğiniz alt ağ (isim veya ID)" + +#, python-format +msgid "Subnet pool does not contain prefix %s" +msgstr "%s önekini içermeyen altağ havuzu" + +msgid "Subnet pool from which this subnet will obtain a CIDR (Name or ID)" +msgstr "Bu alt ağın bir CIDR alacağı alt ağ havuzu (isim veya ID)" + +msgid "Subnet pool to display (name or ID)" +msgstr "Gösterilecek altağ havuzu (isim veya ID)" + +msgid "Subnet pool to modify (name or ID)" +msgstr "Düzenlenecek altağ havuzu (isim veya ID)" + +msgid "Subnet pool(s) to delete (name or ID)" +msgstr "Silinecek altağ havuzları (isim veya ID)" + +msgid "" +"Subnet range in CIDR notation (required if --subnet-pool is not specified, " +"optional otherwise)" +msgstr "" +"CIDR notasyonunda altağ aralığı (--subnet-pool belirtilmediyse zorunlu, " +"diğer türlü seçimlidir)" + +msgid "Subnet to be added (name or ID)" +msgstr "Eklenecek alt ağ (isim veya ID)" + +msgid "Subnet to be removed (name or ID)" +msgstr "Kaldırılacak altağ (isim veya ID)" + +msgid "Subnet to display (name or ID)" +msgstr "Gösterilecek altağ (isim veya ID)" + +msgid "Subnet to modify (name or ID)" +msgstr "Düzenlenecek altağ (isim veya ID)" + +msgid "Subnet(s) to delete (name or ID)" +msgstr "Silinecek altağ(lar) (isim veya ID)" + +msgid "Suspend server(s)" +msgstr "Sunucu(yu/ları) durdur" + +msgid "Swap space size in MB (default 0M)" +msgstr "MB cinsinden takas alanı boyutu (varsayılan 0M)" + +#, python-format +msgid "Tag to be added to the %s (repeat option to set multiple tags)" +msgstr "" +"%s'e eklenecek etiketler (birden fazla etiket ayarlamak için seçeneği tekrar " +"et)" + +#, python-format +msgid "Tag to be removed from the %s (repeat option to remove multiple tags)" +msgstr "" +"%s'den kaldırılacak etiket (birden fazla etiket silmek için seçenekleri " +"tekrarlayın)" + +msgid "Target hostname" +msgstr "Hedef sunucu adı" + +msgid "Thaw and enable the specified volume host" +msgstr "Belirtilen disk bölümü barındırıcısını çöz ve etkinleştir" + +#, python-format +msgid "The %(old)s option is deprecated, please use %(new)s instead." +msgstr "" +"%(old)s seçeneği kullanımdan kaldırıldı, lütfen onun yerine %(new)s kullanın." + +msgid "The --clear-routes option is deprecated, please use --no-route instead." +msgstr "" +"--clear-routes seçeneği kullanımdan kaldırıldı, onun yerine --no-route " +"kullanın." + +msgid "The --device-id option is deprecated, please use --device instead." +msgstr "" +"--device-id seçeneği kullanımdan kaldırıldı, lütfen onun yerine --device " +"komutunu kullanın." + +msgid "The --host-id option is deprecated, please use --host instead." +msgstr "" +"--host-id seçeneği kullanımdan kaldırıldı, lütfen onun yerine --host " +"komutunu kullanın." + +msgid "The --owner option is deprecated, please use --project instead." +msgstr "" +"--owner seçeneği kullanımdan kaldırıldı, onun yerine lütfen --project " +"seçeneğini kullanın." + +msgid "" +"The ID of the volume backend replication target where the host will failover " +"to (required)" +msgstr "" +"Ana bilgisayarın üstleneceği disk bölümü arkaplan kopyası ID'si (zorunlu)" + +msgid "" +"The argument --type is deprecated, use service create --name " +"type instead." +msgstr "" +"--type argümanı kullanımdan kaldırılmıştır, onun yerine service create --" +"name type komutunu kullanın." + +msgid "" +"The attribute(s) of the exsiting remote volume snapshot (admin required) " +"(repeat option to specify multiple attributes) e.g.: '--remote-source source-" +"name=test_name --remote-source source-id=test_id'" +msgstr "" +"Varolan uzak birimin anlık görüntüsünün nitelikleri (yönetici gerekli) " +"(birden fazla özellik belirlemek için seçeneği tekrarlayın) örn: '--remote-" +"source source-name=test_name --remote-source source-id=test_id'" + +msgid "The last backup of the previous page (name or ID)" +msgstr "Bir önceki sayfanın son yedeği (isim veya ID)" + +msgid "The last flavor ID of the previous page" +msgstr "Bir önceki sayfanın son flavor ID'si" + +msgid "" +"The last image of the previous page. Display list of images after marker. " +"Display all images if not specified. (name or ID)" +msgstr "" +"Bir önceki sayfanın son imajı. İşaretçiden sonraki imajların listesini " +"görüntüle. Belirtilmemişse tüm imajları görüntüleyin. (isim veya ID)" + +msgid "" +"The last server of the previous page. Display list of servers after marker. " +"Display all servers if not specified. (name or ID)" +msgstr "" +"Bir önceki sayfanın son sunucusu. İşaretçi sonrasındaki sunucuların " +"listesini görüntüle. Belirtilmemişse tüm sunucuları görüntüleyin. (isim veya " +"ID)" + +msgid "The last snapshot ID of the previous page" +msgstr "Bir önceki sayfanın son anlık görüntü ID'si" + +msgid "The last volume ID of the previous page" +msgstr "Bir önceki sayfanın son disk bölümü ID'si" + +msgid "The object to which this RBAC policy affects (name or ID)" +msgstr "Bu RBAC politikasının etkilediği nesne (ad veya kimlik)" + +msgid "The owner project (name or ID)" +msgstr "Projenin sahibi (isim veya ID)" + +msgid "" +"The physical mechanism by which the virtual network is implemented. For " +"example: flat, geneve, gre, local, vlan, vxlan." +msgstr "" +"Sanal ağın uygulandığı fiziksel mekanizma. Örneğin: düz, geneve, gre, yerel, " +"vlan, vxlan." + +msgid "The project to which the RBAC policy will be enforced (name or ID)" +msgstr "RBAC politikası dayatılacak proje (isim veya ID)" + +msgid "The remote IP prefix to associate with this rule" +msgstr "Bu kural ile ilişkilendirilecek uzak IP ön eki" + +msgid "" +"This command has been deprecated. Please use \"floating ip create\" instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"floating ip create\" " +"kullanın." + +msgid "" +"This command has been deprecated. Please use \"floating ip delete\" instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen yerine \"floating ip delete\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"floating ip list\" instead." +msgstr "" +"Bu komut kullanımdan kalktı. Onun yerine lütfen \"floating ip list\" " +"kullanın." + +msgid "" +"This command has been deprecated. Please use \"floating ip pool list\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen, onun yerine \"floating ip pool list" +"\" komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"floating ip show\" instead." +msgstr "" +"Bu komut önerilmiyor. Lütfen bunun yerine \"floating ip show\"ı kullanın." + +msgid "" +"This command has been deprecated. Please use \"server add fixed ip\" instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Onun yerine lütfen \"server add fixed ip\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"server add floating ip\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırılmıştır. Onun yerine lütfen \"server add " +"floating ip\" kullanın." + +msgid "" +"This command has been deprecated. Please use \"server remove fixed ip\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"server remove fixed ip" +"\" komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"server remove floating ip\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Onun yerine lütfen \"server remove floating " +"ip\" komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume backup create\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Onun yerine lütfen \"volume backup create\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume backup delete\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume backup delete\" " +"kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume backup list\" instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume backup list\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume backup restore\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume backup restore" +"\" komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume backup show\" instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume backup show\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume snapshot create\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume snapshot create" +"\" komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume snapshot delete\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume snapshot delete" +"\" komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume snapshot list\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Onun yerine lütfen \"volume snapshot list\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume snapshot set\" instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen bunun yerine \"volume snapshot set\" " +"komutunu kullanın." + +msgid "" +"This command has been deprecated. Please use \"volume snapshot show\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume snapshot show\" " +"komutunu kullan." + +msgid "" +"This command has been deprecated. Please use \"volume snapshot unset\" " +"instead." +msgstr "" +"Bu komut kullanımdan kaldırıldı. Lütfen onun yerine \"volume snapshot unset" +"\" komutunu kullanın." + +msgid "Token to be deleted" +msgstr "Silinecek jeton" + +msgid "" +"Tokens generated from the trust will represent (defaults to False)" +msgstr "" +"Güvenden oluşturulan jeton 'ı temsil edecek (varsayılan False)" + +msgid "Trust to display" +msgstr "Gösterilecek güven" + +msgid "Trust(s) to delete" +msgstr "Silinecek güvenler" + +msgid "Type of OS" +msgstr "OS türü" + +msgid "Type of architecture" +msgstr "Mimari türü" + +msgid "Type of hypervisor" +msgstr "Arakatman türü" + +msgid "" +"Type of the object that RBAC policy affects (\"qos_policy\" or \"network\")" +msgstr "" +"RBAC politikasını etkileyen nesne türü (\"qos_policy\" veya \"network\")" + +msgid "URL" +msgstr "URL" + +msgid "URL of the agent" +msgstr "Ajanın URL'i" + +msgid "Unique flavor ID; 'auto' creates a UUID (default: auto)" +msgstr "Benzersiz flavor ID'si; 'auto' bir UUID oluşturur (varsayılan: auto)" + +msgid "Unlock server(s)" +msgstr "Sunucu(ların/nun) kilidini kaldır" + +msgid "Unpause server(s)" +msgstr "Sunucu(ları/yu) devam ettir" + +msgid "Unset QoS specification properties" +msgstr "QoS belirtimi özellikleri ayarlarını kaldır" + +msgid "Unset a project property (repeat option to unset multiple properties)" +msgstr "" +"Proje özelliğini kaldır (birden fazla özellik kaldırmak için seçeneği " +"tekrarla)" + +msgid "" +"Unset a property on this image (repeat option to set multiple properties)" +msgstr "" +"Bu imajdaki bir özelliği kaldır (birden fazla özelliği ayarlamak için " +"seçeneği tekrarla)" + +msgid "Unset a tag on this image (repeat option to set multiple tags)" +msgstr "" +"Bu imajdan etiketi kaldır (birden fazla etiket ayarlamak için seçeneği " +"tekrarla)" + +msgid "Unset account properties" +msgstr "Hesap özelliklerinin ayarını kaldır" + +msgid "Unset aggregate properties" +msgstr "Küme özelliklerini kaldır" + +msgid "Unset container properties" +msgstr "Kap özelliklerinin ayarını kaldır" + +msgid "Unset flavor properties" +msgstr "Flavor özelliklerini geri al" + +msgid "Unset floating IP Properties" +msgstr "Yüzer IP Özelliklerini Kaldır" + +msgid "Unset image tags and properties" +msgstr "İmaj etiketlerinin ve özelliklerinin ayarını kaldır" + +msgid "Unset network properties" +msgstr "Ağ özelliklerinin ayarını kaldır" + +msgid "Unset object properties" +msgstr "Nesne özelliklerinin ayarını kaldır" + +msgid "Unset port properties" +msgstr "Bağlantı noktası özelliklerinin ayarını kaldır" + +msgid "Unset project properties" +msgstr "Proje özelliklerini kaldır" + +msgid "Unset router properties" +msgstr "Yönlendirici özelliklerini kaldır" + +msgid "Unset server properties" +msgstr "Sunucu özelliklerini kaldır" + +msgid "Unset snapshot properties" +msgstr "Anlık görüntü özelliklerinin ayarını kaldır" + +msgid "Unset subnet pool properties" +msgstr "Altağ havuz özelliklerinin ayarlarını kaldır" + +msgid "Unset subnet properties" +msgstr "Altağ özelliklerinin ayarını kaldır" + +msgid "Unset volume properties" +msgstr "Disk bölümü özellikleri ayarlarını kaldır" + +msgid "Unset volume snapshot properties" +msgstr "Disk bölümü anlık görüntü özelliklerinin ayarını kaldır" + +msgid "Unset volume type properties" +msgstr "Disk bölümü türü özelliklerinin ayarlarını kaldır" + +msgid "Unshelve server(s)" +msgstr "Sunucuları al" + +msgid "Updated name of the subnet" +msgstr "Alt ağın güncellenmiş ismi" + +msgid "" +"Upload a file and rename it. Can only be used when uploading a single object" +msgstr "" +"Bir dosya yükle ve yeniden adlandır. Yalnızca tek bir nesne yüklerken " +"kullanılabilir" + +msgid "Upload image from local file" +msgstr "Yerel dosyadan imajı yükle" + +msgid "Upload image to this store" +msgstr "Bu depoya imaj yükle" + +msgid "Upload object to container" +msgstr "Kabı nesneye yükle" + +msgid "Uploading data and using container are not allowed at the same time" +msgstr "Aynı anda veri yüklemek ve kap kullanmaya izin verilmiyor." + +#, python-format +msgid "Usage from %(start)s to %(end)s on project %(project)s: \n" +msgstr "%(start)s'dan %(end)s'e %(project)s projesindeki kullanım:\n" + +#, python-format +msgid "Usage from %(start)s to %(end)s: \n" +msgstr "%(start)s'dan %(end)s'e kullanım: \n" + +msgid "Usage range end date, ex 2012-01-20 (default: tomorrow)" +msgstr "Kullanım aralığı bitiş tarihi, ex 2012-01-20 (varsayılan: yarın)" + +msgid "Usage range start date, ex 2012-01-20 (default: 4 weeks ago)" +msgstr "" +"Kullanım aralığı başlangıç tarihi, ex 2012-01-20 (varsayılan: 4 hafta önce)" + +msgid "Use --stdin to enable read image data from standard input" +msgstr "Standart girdiden imaj verilerini okuyabilmek için --stdin kullanın" + +msgid "Use as source of volume (name or ID)" +msgstr "Disk bölümünün kaynağı olarak kullan (isim veya ID)" + +msgid "Use as source of volume (name or ID)" +msgstr "" +" anlık görüntüsünü disk bölümü kaynağı olarak kullan (isim veya ID)" + +msgid "Use default subnet pool for --ip-version" +msgstr "--ip-version için varsayılan altağ havuzunu kullan" + +msgid "Use only IPv4 addresses" +msgstr "Sadece IPv4 adresleri kullan" + +msgid "Use only IPv6 addresses" +msgstr "Sadece IPv6 adresleri kullan" + +msgid "Use other IP address (public, private, etc)" +msgstr "Diğer IP adresi kullan (genel, gizli, vs.)" + +msgid "Use private IP address" +msgstr "Gizli IP adresi kullan" + +msgid "Use public IP address" +msgstr "Genel IP adresi kullan" + +msgid "" +"Use specified volume as the config drive, or 'True' to use an ephemeral drive" +msgstr "" +"Belirtilen birimi yapılandırma sürücüsü olarak kullanın veya kısa ömürlü bir " +"sürücüyü kullanmak için 'True' kullanın" + +msgid "" +"Used to populate the backup_type property of the backup image (default: " +"empty)" +msgstr "" +"Yedek imajın backup_type özelliğini doldurmak için kullanılır (varsayılan: " +"boş)" + +msgid "User data file to serve from the metadata server" +msgstr "Üst veri sunucusundan sunmak için kullanıcı veri dosyası" + +msgid "User description" +msgstr "Kullanıcı tanımı" + +msgid "User must be specified" +msgstr "Kullanıcı belirtilmeli" + +msgid "User that is assuming authorization (name or ID)" +msgstr "Yetki varsayan kullanıcı (adı veya kimliği)" + +msgid "User that is delegating authorization (name or ID)" +msgstr "Yetkilendirme yetkisini devreden kullanıcı (isim veya ID)" + +msgid "User that owns the credential (name or ID)" +msgstr "Kimlik bilgilerine sahip kullanıcı (isim veya ID)" + +msgid "User to check (name or ID)" +msgstr "Kontrol edilecek kullanıcı (isim veya ID)" + +msgid "User to display (name or ID)" +msgstr "Gösterilecek kullanıcı (isim veya ID)" + +msgid "User to filter (name or ID)" +msgstr "Filtrelenecek kullanıcı (isim veya ID)" + +msgid "User to list (name or ID)" +msgstr "Listelenecek kullanıcı (isim veya ID)" + +msgid "User to modify (name or ID)" +msgstr "Düzenlenecek kullanıcı (isim veya ID)" + +msgid "" +"User(s) to add to (name or ID) (repeat option to add multiple users)" +msgstr "" +"'a eklenecek kullanıcı(lar) (isim veya ID) (birden fazla kullanıcı " +"eklemek için seçeneği tekrarlayın)" + +msgid "User(s) to delete (name or ID)" +msgstr "Silinecek kullanıcı(lar) (isim veya ID)" + +msgid "" +"User(s) to remove from (name or ID) (repeat option to remove " +"multiple users)" +msgstr "" +"'dan kaldırılacak kullanıcı(lar) (isim veya ID) (birden fazla " +"kullanıcı kaldırmak için seçeneği tekrarlayın)" + +msgid "VLAN ID for VLAN networks or Tunnel ID for GENEVE/GRE/VXLAN networks" +msgstr "VLAN ağları için VLAN ID veya GENEVA/GRE/VXLAN ağları için Tünel ID" + +msgid "" +"VNIC type for this port (direct | direct-physical | macvtap | normal | " +"baremetal | virtio-forwarder, default: normal)" +msgstr "" +"Bu bağlantı noktası için VNIC türü (direct | direct-physical | macvtap | " +"normal | baremetal | virtio-forwarder, varsayılan: normal)" + +msgid "" +"Validate the requirements for auto allocated topology. Does not return a " +"topology." +msgstr "" +"Otomatik ayrılan topoloji gereksinimlerini doğrulayın. Bir topoloji " +"döndürmez." + +msgid "Verifier associated with (required)" +msgstr " ile ilişkili doğrulayıcı (gerekli)" + +msgid "Version" +msgstr "Sürüm" + +msgid "Version of the agent" +msgstr "Ajanın sürümü" + +#, python-format +msgid "Volume API version, default=%s (Env: OS_VOLUME_API_VERSION)" +msgstr "Disk bölümü API sürümü, varsayılan=%s (Env: OS_VOLUME_API_VERSION)" + +msgid "Volume description" +msgstr "Disk bölümü açıklaması" + +#, python-format +msgid "Volume is in %s state, it must be available before size can be extended" +msgstr "" +"Disk bölümü %s durumunda, boyut genişletilmeden önce kullanılabilir olmak " +"zorunda." + +msgid "Volume name" +msgstr "Disk bölümü ismi" + +msgid "" +"Volume or snapshot (name or ID) must be specified if --block-device-mapping " +"is specified" +msgstr "" +"Disk bölümü veya anlık görüntü (isim veya ID), eğer --block-device-mapping " +"belirtildiyse, belirtilmek zorundadır." + +msgid "Volume size in GB (Required unless --snapshot or --source is specified)" +msgstr "" +"GB cinsinden disk bölümü boyutu (--snapshot veya --source belirtilmezse " +"gereklidir)" + +msgid "" +"Volume size in GB (Required unless --snapshot or --source or --source-" +"replicated is specified)" +msgstr "" +"GB cinsinden disk bölümü boyutu (--snapshot veya --source veya --source-" +"replicated belirtilmedikçe gereklidir)" + +msgid "Volume to add (name or ID)" +msgstr "Eklenecek disk bölümü (isim veya ID)" + +msgid "Volume to backup (name or ID)" +msgstr "Yedeklenecek disk bölümü (isim veya ID)" + +msgid "Volume to clone (name or ID)" +msgstr "Kopyalanacak disk bölümü (isim veya ID)" + +msgid "Volume to display (name or ID)" +msgstr "Gösterilecek disk bölümü (isim veya ID)" + +msgid "Volume to migrate (name or ID)" +msgstr "Göç ettirilecek disk bölümü (isim veya ID)" + +msgid "Volume to modify (name or ID)" +msgstr "Düzenlenecek disk bölümü (isim veya ID)" + +msgid "Volume to remove (name or ID)" +msgstr "Kaldırılacak disk bölümü (isim veya ID)" + +msgid "Volume to restore to (name or ID)" +msgstr "Geri yüklenecek disk bölümü (isim veya ID)" + +msgid "Volume to snapshot (name or ID)" +msgstr "Anlık görüntüsü oluşturulacak disk bölümü (isim veya ID)" + +msgid "Volume to snapshot (name or ID) (default is )" +msgstr "" +"Anlık görüntüsü alınacak disk bölümü (isim veya ID) (varsayılan )" + +msgid "Volume to transfer (name or ID)" +msgstr "Aktarılacak disk bölümü (isim veya ID)" + +msgid "Volume transfer request authentication key" +msgstr "Disk bölümü aktarım isteği yetkilendirme anahtarı" + +msgid "Volume transfer request to accept (ID only)" +msgstr "Kabul edilecek disk bölümü aktarım isteği (sadece ID)" + +msgid "Volume transfer request to display (name or ID)" +msgstr "Gösterilecek disk bölümü aktarım isteği (isim veya ID)" + +msgid "Volume transfer request(s) to delete (name or ID)" +msgstr "Silinecek disk bölümü aktarım isteği (isim veya ID)" + +msgid "Volume type description" +msgstr "Disk bölümü türü açıklaması" + +msgid "Volume type is accessible to the public" +msgstr "Disk bölümü türü genel olarak erişilebilir" + +msgid "Volume type is not accessible to the public" +msgstr "Disk bölümü türü genele açık değil" + +msgid "Volume type name" +msgstr "Disk bölümü tür ismi" + +msgid "Volume type of this consistency group (name or ID)" +msgstr "Bu tutarlılık grubunun disk bölümü türü (isim veya ID)" + +msgid "Volume type to associate the QoS (name or ID)" +msgstr "QoS ile ilişkili disk bölümü türü (isim veya ID)" + +msgid "Volume type to disassociate the QoS from (name or ID)" +msgstr "QoS'in ayrılacağı disk bölümü (isim veya ID)" + +msgid "Volume type to display (name or ID)" +msgstr "Gösterilecek disk bölümü türü (isim veya ID)" + +msgid "Volume type to modify (name or ID)" +msgstr "Düzenlenecek disk bölümü türü (isim veya ID)" + +msgid "Volume type(s) to delete (name or ID)" +msgstr "Disk bölümü türlerini sil" + +msgid "" +"Volume(s) to add to (name or ID) (repeat option to add " +"multiple volumes)" +msgstr "" +"'a eklenecek disk bölümleri (isim veya ID) (birden fazla " +"disk bölümü eklemek için seçeneği tekrarlayın)" + +msgid "Volume(s) to delete (name or ID)" +msgstr "Silinecek disk bölümleri (isim veya ID)" + +msgid "" +"Volume(s) to remove from (name or ID) (repeat option to " +"remove multiple volumes)" +msgstr "" +"'dan silinecek disk bölümleri (isim veya ID) (birden " +"fazla disk bölümü silmek için seçeneği tekrarlayın)" + +msgid "Wait for backup image create to complete" +msgstr "Yedek imaj oluşturmanın tamamlanması için bekleyin" + +msgid "Wait for build to complete" +msgstr "Yapılandırmanın tamamlanmasını bekle" + +msgid "Wait for delete to complete" +msgstr "Silme işleminin bitmesini bekle" + +msgid "Wait for migrate to complete" +msgstr "Göçün tamamlanması bekleniyor" + +msgid "Wait for operation to complete" +msgstr "İşlemin tamamlanmasını bekleyin" + +msgid "Wait for reboot to complete" +msgstr "Yeniden başlatmanın bitmesini bekleyin" + +msgid "Wait for rebuild to complete" +msgstr "Yeniden yapılandırmanın tamamlanmasını bekle" + +msgid "Wait for resize to complete" +msgstr "Yeniden boyutlandırmanın tamamlanmasını bekleyin" + +msgid "" +"You must specify '--external-gateway' in orderto update the SNAT or fixed-ip " +"values" +msgstr "" +"SNAT veya sabit ip değerlerini güncellemek için '--external-gateway' " +"belirtmelisiniz" + +msgid "argument --auth-key is required" +msgstr "--auth-key argümanı zorunludur" + +msgid "" +"can't create server with port specified since network endpoint not enabled" +msgstr "" +"ağ uç noktası etkin olmadığı için belirtilen bağlantı noktası ile sunucu " +"oluşturulamadı" + +msgid "either network or port should be specified but not both" +msgstr "ya ağ ya da bağlantı noktası belirtilmelidir ama ikisi bir arada değil" + +msgid "many found" +msgstr "çok bulundu" + +msgid "max instances should be > 0" +msgstr "en büyük sunucu sayısı > 0 olmalıdır" + +msgid "min instances should be <= max instances" +msgstr "en küçük sunucu sayısı <= en büyük sunucu sayısı olmalıdır" + +msgid "min instances should be > 0" +msgstr "en küçük sunucu sayısı > 0 olmalıdır" + +msgid "network" +msgstr "ağ" + +msgid "networks" +msgstr "ağlar" + +msgid "none found" +msgstr "hiç bulunamadı" + +msgid "port" +msgstr "bağlantı noktası" + +msgid "ports" +msgstr "bağlantı noktaları" + +#, python-format +msgid "property unset failed, '%s' is a nonexistent property " +msgstr "özellik kaldırma başarısız, '%s' diye bir özellik yok " + +msgid "router" +msgstr "yönlendirici" + +msgid "routers" +msgstr "yönlendiriciler" + +msgid "server group to display (name or ID)" +msgstr "gösterilecek sunucu grupları (isim veya ID)" + +msgid "server group(s) to delete (name or ID)" +msgstr "silinecek sunucu grupları (isim veya ID)" + +#, python-format +msgid "service %s not found\n" +msgstr "%s servisi bulunamadı\n" + +msgid "subnet" +msgstr "alt ağ" + +msgid "subnet pool" +msgstr "altağ havuzu" + +msgid "subnet pools" +msgstr "altağ havuzları" + +msgid "subnets" +msgstr "altağlar" + +#, python-format +msgid "tag unset failed, '%s' is a nonexistent tag " +msgstr "etiket kaldırma başarısız, '%s' diye bir etiket yok " + +msgid "user that owns the credential (name or ID)" +msgstr "Kimlik bilgilerinin sahibi kullanıcı (isim veya ID)" + +#, python-format +msgid "versions supported by client: %(min)s - %(max)s" +msgstr "istemci tarafından desteklenen sürümler: %(min)s - %(max)s" diff --git a/openstackclient/locale/zh_TW/LC_MESSAGES/openstackclient.po b/openstackclient/locale/zh_TW/LC_MESSAGES/openstackclient.po deleted file mode 100644 index d9bbf6fe..00000000 --- a/openstackclient/locale/zh_TW/LC_MESSAGES/openstackclient.po +++ /dev/null @@ -1,423 +0,0 @@ -# Translations template for python-openstackclient. -# Copyright (C) 2015 ORGANIZATION -# This file is distributed under the same license as the -# python-openstackclient project. -# -# Translators: -# Andreas Jaeger , 2016. #zanata -msgid "" -msgstr "" -"Project-Id-Version: python-openstackclient 2.5.1.dev51\n" -"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-06-03 19:37+0000\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2015-06-14 06:41+0000\n" -"Last-Translator: openstackjenkins \n" -"Language: zh-TW\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.0\n" -"X-Generator: Zanata 3.7.3\n" -"Language-Team: Chinese (Taiwan)\n" - -msgid "Add a property to (repeat option to set multiple properties)" -msgstr "加入屬性到 (重復這選項來設定多個屬性)" - -msgid "Allow disk over-commit on the destination host" -msgstr "允許目標主機過量使用" - -msgid "Complete\n" -msgstr "完成\n" - -msgid "Confirm server resize is complete" -msgstr "確認調整雲實例容量完成" - -msgid "Credentials access key" -msgstr "憑鑰存取密鑰" - -msgid "Default project (name or ID)" -msgstr "預設專案(名稱或識別號)" - -msgid "Destination port (ssh -p option)" -msgstr "目標埠口(ssh -p 選項)" - -msgid "Disable project" -msgstr "關閉專案" - -msgid "Disable user" -msgstr "關閉用戶" - -msgid "Display server diagnostics information" -msgstr "顯示雲實例診斷資訊" - -msgid "Do not over-commit disk on the destination host (default)" -msgstr "不準目標主機過量使用(預設)" - -msgid "Enable project" -msgstr "啟用專案" - -msgid "Enable project (default)" -msgstr "啟用專案(預設)" - -msgid "Enable user (default)" -msgstr "啟用用戶(預設)" - -msgid "Endpoint ID to delete" -msgstr "要刪除的端點識別號" - -#, python-format -msgid "Error creating server: %s" -msgstr "新增雲實例時出錯:%s" - -msgid "Error retrieving diagnostics data" -msgstr "獲得診斷資料時出錯" - -msgid "Filter by parent region ID" -msgstr "以父地區識別號來篩選" - -msgid "Filter users by (name or ID)" -msgstr "以 來篩選用戶(名稱或識別號)" - -msgid "Filter users by project (name or ID)" -msgstr "以專案篩選用戶(名稱或識別號)" - -msgid "Hints for the scheduler (optional extension)" -msgstr "給排程器的提示(選用)" - -msgid "Include (name or ID)" -msgstr "包括 (名稱或識別號)" - -msgid "Include (name or ID)" -msgstr "包括 (名稱或識別號)" - -msgid "Include all projects (admin only)" -msgstr "包括所有的專案(管理員專用)" - -msgid "Keypair to inject into this server (optional extension)" -msgstr "要注入到此伺服器的密鑰對(選用)" - -msgid "List additional fields in output" -msgstr "列出額外的欄位" - -msgid "Login name (ssh -l option)" -msgstr "登入名稱(ssh -l 選項)" - -msgid "" -"Map block devices; map is ::: " -"(optional extension)" -msgstr "" -"映射區塊裝置;映射是 :::(選用)" - -msgid "Maximum number of servers to launch (default=1)" -msgstr "最多要發動的雲實例(預設為 1)" - -msgid "Minimum number of servers to launch (default=1)" -msgstr "最少要發動的雲實例(預設為 1)" - -msgid "Name of new image (default is server name)" -msgstr "新映像檔的名稱(預設為雲實例名稱)" - -msgid "Name or ID of security group to remove from server" -msgstr "要從雲實例移除的安全性群組名稱或識別號" - -msgid "Name or ID of server to use" -msgstr "要用的雲實例名稱或識別號" - -msgid "New endpoint admin URL" -msgstr "新端點管理員網址" - -msgid "New endpoint internal URL" -msgstr "新端點內部網址" - -msgid "New endpoint public URL (required)" -msgstr "新端點公開網址(需要)" - -msgid "New endpoint region ID" -msgstr "新端點地區識別號" - -msgid "New endpoint service (name or ID)" -msgstr "新端點伺服器(名稱或識別號)" - -msgid "New parent region ID" -msgstr "新父地區識別號" - -msgid "New password: " -msgstr "新密碼:" - -msgid "New project name" -msgstr "新專案名稱" - -msgid "New region ID" -msgstr "新地區識別號" - -msgid "New region description" -msgstr "新地區描述" - -msgid "New role name" -msgstr "新角色名稱" - -msgid "New server name" -msgstr "新雲實例名稱" - -msgid "New service description" -msgstr "新伺服器描述" - -msgid "New service name" -msgstr "新伺服器名稱" - -msgid "New service type (compute, image, identity, volume, etc)" -msgstr "新伺服器類型(compute、image、identity 或 volume 等等)" - -msgid "New user name" -msgstr "新用戶名稱" - -#, python-format -msgid "No service catalog with a type, name or ID of '%s' exists." -msgstr "沒有相似「%s」類型、名稱或識別號的伺服器分類。" - -msgid "Only return instances that match the reservation" -msgstr "只回傳要保留的雲實例" - -msgid "Options in ssh_config(5) format (ssh -o option)" -msgstr "ssh_config(5) 格式的選項(ssh -o 選項)" - -msgid "Parent region ID" -msgstr "父地區識別號" - -msgid "Passwords do not match, password unchanged" -msgstr "密碼不一樣,未更換密碼" - -msgid "Perform a block live migration" -msgstr "覆行區塊的即時轉移" - -msgid "Perform a hard reboot" -msgstr "履行強制重開機" - -msgid "Perform a shared live migration (default)" -msgstr "覆行已分享的即時轉移(預設)" - -msgid "Perform a soft reboot" -msgstr "履行重開機" - -msgid "Private key file (ssh -i option)" -msgstr "私鑰檔案(ssh -i 選項)" - -msgid "Project description" -msgstr "專案描述" - -msgid "Project must be specified" -msgstr "必須指定專案" - -msgid "Project to display (name or ID)" -msgstr "要顯示的專案(名稱或識別號)" - -msgid "Project to modify (name or ID)" -msgstr "要更改的專案(名稱或識別號)" - -msgid "Project(s) to delete (name or ID)" -msgstr "要刪除的專案(名稱或識別號)" - -msgid "Prompt interactively for password" -msgstr "為密碼互動提示" - -msgid "" -"Property to add/change for this server (repeat option to set multiple " -"properties)" -msgstr "要加入這個雲實例的屬性(重復這選項來設定多個屬性)" - -msgid "Region ID to delete" -msgstr "要刪除的地區識別號" - -msgid "Region to display" -msgstr "要顯示的地區" - -msgid "Region to modify" -msgstr "要更改的地區" - -msgid "Regular expression to match IP addresses" -msgstr "以正規式來匹配 IP 位址" - -msgid "Regular expression to match IPv6 addresses" -msgstr "以正規式來匹配 IPv6 位址" - -msgid "Regular expression to match instance name (admin only)" -msgstr "以正規式來匹配雲實例名稱(管理員專用)" - -msgid "Regular expression to match names" -msgstr "以正規式來匹配名稱" - -msgid "Resize server to specified flavor" -msgstr "調整雲實例容量來符合指定的虛擬硬體樣板" - -msgid "Restore server state before resize" -msgstr "恢復雲實例狀態到未調整容量前" - -msgid "Return existing domain" -msgstr "回傳存在的地域" - -msgid "Return existing group" -msgstr "回傳存在的群組" - -msgid "Return existing project" -msgstr "回傳存在的專案" - -msgid "Return existing role" -msgstr "回傳存在的角色" - -msgid "Return existing user" -msgstr "回傳存在的用戶" - -msgid "Retype new password: " -msgstr "重新輸入新密碼:" - -msgid "Role to add to : (name or ID)" -msgstr "加入角色到 :(名稱或識別號)" - -msgid "Role to display (name or ID)" -msgstr "要顯示的角色(名稱或識別號)" - -msgid "Role to remove (name or ID)" -msgstr "要移除的角色(名稱或識別號)" - -msgid "Role(s) to delete (name or ID)" -msgstr "要刪除的角色(名稱或識別號)" - -msgid "Search by hostname" -msgstr "以主機名稱來尋找" - -msgid "Search by server status" -msgstr "以雲實例狀態來尋找" - -msgid "Security group to add (name or ID)" -msgstr "要加入的安全性群組(名稱或識別號)" - -msgid "Select an availability zone for the server" -msgstr "為雲實例選擇可用的區域。" - -msgid "Server (name or ID)" -msgstr "伺服器(名稱或識別號)" - -msgid "Server internal device name for volume" -msgstr "雲硬碟在雲實例內的裝置名稱" - -msgid "Server(s) to delete (name or ID)" -msgstr "要刪除的雲實例(名稱或識別號)" - -msgid "Service to delete (name or ID)" -msgstr "要刪除的伺服器(名稱或識別號)" - -msgid "Service to display (type or name)" -msgstr "要顯示的伺服器(類型或名稱)" - -msgid "Service to display (type, name or ID)" -msgstr "要顯示的伺服器(類型、名稱或識別號)" - -msgid "Set a project property (repeat option to set multiple properties)" -msgstr "設定專案屬性(重復這選項來設定多個屬性)" - -msgid "Set default project (name or ID)" -msgstr "設定預設專案(名稱或識別號)" - -msgid "Set new root password (interactive only)" -msgstr "設定新密碼(只限互動)" - -msgid "Set project description" -msgstr "設定專案描述" - -msgid "Set project name" -msgstr "設定專案名稱" - -msgid "Set user email address" -msgstr "設定用戶電子信箱位址" - -msgid "Set user name" -msgstr "設定用戶名稱" - -msgid "Set user password" -msgstr "設定用戶密碼" - -msgid "Show service catalog information" -msgstr "顯示伺服器分類資訊" - -msgid "Target hostname" -msgstr "目標主機名稱" - -msgid "" -"The argument --type is deprecated, use service create --name " -"type instead." -msgstr "" -"已經淘汰 --type 參數,請用 service create --name 來代替。" - -msgid "Token to be deleted" -msgstr "要刪除的記號" - -msgid "Use only IPv4 addresses" -msgstr "只使用 IPv4 位址" - -msgid "Use only IPv6 addresses" -msgstr "只使用 IPv6 位址" - -msgid "Use other IP address (public, private, etc)" -msgstr "使用其他 IP 位址(公開、私人等等)" - -msgid "Use private IP address" -msgstr "使用私人 IP 位址" - -msgid "Use public IP address" -msgstr "使用公開 IP 位址" - -msgid "" -"Use specified volume as the config drive, or 'True' to use an ephemeral drive" -msgstr "使用指定的雲硬碟為設定檔硬碟,或「True」來使用暫時性硬碟" - -msgid "User data file to serve from the metadata server" -msgstr "來自詮釋資料伺服器要服務的用戶資料檔案" - -msgid "User must be specified" -msgstr "必須指定用戶" - -msgid "User to change (name or ID)" -msgstr "要更換的用戶(名稱或識別號)" - -msgid "User to display (name or ID)" -msgstr "要顯示的用戶(名稱或識別號)" - -msgid "User to list (name or ID)" -msgstr "要列出的用戶(名稱或識別號)" - -msgid "User(s) to delete (name or ID)" -msgstr "要刪除的用戶(名稱或識別號)" - -msgid "Volume to add (name or ID)" -msgstr "要加入的雲硬碟(名稱或識別號)" - -msgid "Volume to remove (name or ID)" -msgstr "要移除的雲硬碟(名稱或識別號)" - -msgid "Wait for build to complete" -msgstr "等待完成建立" - -msgid "Wait for image create to complete" -msgstr "等待映像檔新增完成" - -msgid "Wait for reboot to complete" -msgstr "等待重開機完成" - -msgid "Wait for rebuild to complete" -msgstr "等待重建完成" - -msgid "Wait for resize to complete" -msgstr "等待調整容量完成" - -msgid "either net-id or port-id should be specified but not both" -msgstr "任選網路識別號或接口識別號,但不能兩者都指定" - -msgid "max instances should be > 0" -msgstr "雲實例發動的最大值要大於 0" - -msgid "min instances should be <= max instances" -msgstr "雲實例發動的最少值不應大於最大值" - -msgid "min instances should be > 0" -msgstr "雲實例發動的最少值要大於 0" -- cgit v1.2.1 From 04ef8a41acbd45ef03253240934fa07ec170d7f4 Mon Sep 17 00:00:00 2001 From: Reedip Date: Tue, 8 Aug 2017 09:23:44 +0530 Subject: Allow PD as Subnetpool during Subnet creations This commit now allows user to specify 'prefix_delegation' as a Subnetpool during Subnet creation by using the new --use-prefix-delegation option so that the IPv6 prefixes can be delegated to routers set up by the cloud admins. Change-Id: I67e5d81c4155db2e3c5c41ee1df77f2d77a17689 Closes-Bug: #1513894 --- openstackclient/network/v2/subnet.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'openstackclient') diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py index b96dff7f..c71358a5 100644 --- a/openstackclient/network/v2/subnet.py +++ b/openstackclient/network/v2/subnet.py @@ -186,6 +186,8 @@ def _get_attrs(client_manager, parsed_args, is_create=True): subnet_pool = client.find_subnet_pool(parsed_args.subnet_pool, ignore_missing=False) attrs['subnetpool_id'] = subnet_pool.id + if parsed_args.use_prefix_delegation: + attrs['subnetpool_id'] = "prefix_delegation" if parsed_args.use_default_subnet_pool: attrs['use_default_subnet_pool'] = True if parsed_args.prefix_length is not None: @@ -260,6 +262,11 @@ class CreateSubnet(command.ShowOne): help=_("Subnet pool from which this subnet will obtain a CIDR " "(Name or ID)") ) + subnet_pool_group.add_argument( + '--use-prefix-delegation', + help=_("Use 'prefix-delegation' if IP is IPv6 format " + "and IP would be delegated externally") + ) subnet_pool_group.add_argument( '--use-default-subnet-pool', action='store_true', -- cgit v1.2.1 From f3bbf52b3c7e731796aaf38294d08109859babe5 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Sat, 15 Jul 2017 16:58:08 +0000 Subject: Use flake8-import-order plugin In reviews we usually check import grouping but it is boring. By using flake8-import-order plugin, we can avoid this. It enforces loose checking so it sounds good to use it. This flake8 plugin is already used in tempest. Note that flake8-import-order version is pinned to avoid unexpected breakage of pep8 job. Setup for unit tests of hacking rules is tweaked to disable flake8-import-order checks. This extension assumes an actual file exists and causes hacking rule unit tests. Change-Id: I12b596820727aeeb379bee16c2bc993dee9eb637 --- openstackclient/common/clientmanager.py | 2 +- openstackclient/compute/v2/server_event.py | 2 +- openstackclient/tests/functional/base.py | 2 +- openstackclient/tests/unit/common/test_logs.py | 1 + openstackclient/tests/unit/common/test_quota.py | 2 +- openstackclient/tests/unit/compute/v2/fakes.py | 3 ++- openstackclient/tests/unit/compute/v2/test_keypair.py | 4 ++-- openstackclient/tests/unit/compute/v2/test_server.py | 2 +- openstackclient/tests/unit/compute/v2/test_usage.py | 1 + openstackclient/tests/unit/fakes.py | 2 +- openstackclient/tests/unit/identity/v2_0/fakes.py | 2 +- openstackclient/tests/unit/identity/v2_0/test_role_assignment.py | 2 +- openstackclient/tests/unit/identity/v3/fakes.py | 2 +- openstackclient/tests/unit/identity/v3/test_identity_provider.py | 1 + openstackclient/tests/unit/identity/v3/test_mappings.py | 2 +- openstackclient/tests/unit/identity/v3/test_role.py | 2 +- openstackclient/tests/unit/identity/v3/test_role_assignment.py | 1 + openstackclient/tests/unit/identity/v3/test_trust.py | 2 +- openstackclient/tests/unit/identity/v3/test_user.py | 2 +- openstackclient/tests/unit/image/v1/fakes.py | 3 ++- openstackclient/tests/unit/image/v1/test_image.py | 2 +- openstackclient/tests/unit/image/v2/fakes.py | 2 +- openstackclient/tests/unit/image/v2/test_image.py | 2 +- openstackclient/tests/unit/integ/cli/test_shell.py | 2 +- openstackclient/tests/unit/network/test_common.py | 1 + openstackclient/tests/unit/network/v2/fakes.py | 3 ++- openstackclient/tests/unit/network/v2/test_network.py | 4 ++-- openstackclient/tests/unit/network/v2/test_port.py | 2 +- openstackclient/tests/unit/network/v2/test_subnet_pool.py | 2 +- openstackclient/tests/unit/object/v1/test_container.py | 1 + openstackclient/tests/unit/object/v1/test_object.py | 1 + openstackclient/tests/unit/test_shell.py | 2 +- openstackclient/tests/unit/utils.py | 3 ++- openstackclient/tests/unit/volume/v1/fakes.py | 3 ++- openstackclient/tests/unit/volume/v1/test_qos_specs.py | 2 +- openstackclient/tests/unit/volume/v1/test_volume.py | 2 +- openstackclient/tests/unit/volume/v2/fakes.py | 2 +- openstackclient/tests/unit/volume/v2/test_qos_specs.py | 2 +- openstackclient/tests/unit/volume/v2/test_snapshot.py | 2 +- openstackclient/tests/unit/volume/v2/test_volume.py | 2 +- 40 files changed, 47 insertions(+), 35 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/common/clientmanager.py b/openstackclient/common/clientmanager.py index 67912f0c..ea581696 100644 --- a/openstackclient/common/clientmanager.py +++ b/openstackclient/common/clientmanager.py @@ -16,11 +16,11 @@ """Manage access to the clients, including authenticating when needed.""" import logging -import pkg_resources import sys from osc_lib import clientmanager from osc_lib import shell +import pkg_resources LOG = logging.getLogger(__name__) diff --git a/openstackclient/compute/v2/server_event.py b/openstackclient/compute/v2/server_event.py index ccb19ef7..d8fbda0f 100644 --- a/openstackclient/compute/v2/server_event.py +++ b/openstackclient/compute/v2/server_event.py @@ -16,10 +16,10 @@ """Compute v2 Server operation event implementations""" import logging -import six from osc_lib.command import command from osc_lib import utils +import six from openstackclient.i18n import _ diff --git a/openstackclient/tests/functional/base.py b/openstackclient/tests/functional/base.py index 4c88b13e..90bbc24d 100644 --- a/openstackclient/tests/functional/base.py +++ b/openstackclient/tests/functional/base.py @@ -14,10 +14,10 @@ import os import re import shlex import subprocess -import testtools from tempest.lib.cli import output_parser from tempest.lib import exceptions +import testtools COMMON_DIR = os.path.dirname(os.path.abspath(__file__)) diff --git a/openstackclient/tests/unit/common/test_logs.py b/openstackclient/tests/unit/common/test_logs.py index 4842c8d4..b1e4d612 100644 --- a/openstackclient/tests/unit/common/test_logs.py +++ b/openstackclient/tests/unit/common/test_logs.py @@ -15,6 +15,7 @@ # or Jun 2017. import logging + import mock from openstackclient.common import logs diff --git a/openstackclient/tests/unit/common/test_quota.py b/openstackclient/tests/unit/common/test_quota.py index 482653f4..1a3da31d 100644 --- a/openstackclient/tests/unit/common/test_quota.py +++ b/openstackclient/tests/unit/common/test_quota.py @@ -11,8 +11,8 @@ # under the License. import copy -import mock +import mock from osc_lib import exceptions from openstackclient.common import quota diff --git a/openstackclient/tests/unit/compute/v2/fakes.py b/openstackclient/tests/unit/compute/v2/fakes.py index d5fc9fa9..0fae19af 100644 --- a/openstackclient/tests/unit/compute/v2/fakes.py +++ b/openstackclient/tests/unit/compute/v2/fakes.py @@ -14,9 +14,10 @@ # import copy -import mock import uuid +import mock + from openstackclient.api import compute_v2 from openstackclient.tests.unit import fakes from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes diff --git a/openstackclient/tests/unit/compute/v2/test_keypair.py b/openstackclient/tests/unit/compute/v2/test_keypair.py index d6f5ecf4..0e5fb143 100644 --- a/openstackclient/tests/unit/compute/v2/test_keypair.py +++ b/openstackclient/tests/unit/compute/v2/test_keypair.py @@ -13,10 +13,10 @@ # under the License. # -import mock -from mock import call import uuid +import mock +from mock import call from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 5b0d28a1..a1225c30 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -15,9 +15,9 @@ import argparse import collections import getpass + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils as common_utils from oslo_utils import timeutils diff --git a/openstackclient/tests/unit/compute/v2/test_usage.py b/openstackclient/tests/unit/compute/v2/test_usage.py index a383e903..a7aa1374 100644 --- a/openstackclient/tests/unit/compute/v2/test_usage.py +++ b/openstackclient/tests/unit/compute/v2/test_usage.py @@ -12,6 +12,7 @@ # import datetime + import mock from openstackclient.compute.v2 import usage diff --git a/openstackclient/tests/unit/fakes.py b/openstackclient/tests/unit/fakes.py index 999694b7..65c76b3e 100644 --- a/openstackclient/tests/unit/fakes.py +++ b/openstackclient/tests/unit/fakes.py @@ -14,10 +14,10 @@ # import json -import mock import sys from keystoneauth1 import fixture +import mock import requests import six diff --git a/openstackclient/tests/unit/identity/v2_0/fakes.py b/openstackclient/tests/unit/identity/v2_0/fakes.py index 3d25cadf..5db94222 100644 --- a/openstackclient/tests/unit/identity/v2_0/fakes.py +++ b/openstackclient/tests/unit/identity/v2_0/fakes.py @@ -14,11 +14,11 @@ # import copy -import mock import uuid from keystoneauth1 import access from keystoneauth1 import fixture +import mock from openstackclient.tests.unit import fakes from openstackclient.tests.unit import utils diff --git a/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py b/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py index 87643f12..733fda6c 100644 --- a/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +++ b/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py @@ -12,8 +12,8 @@ # import copy -import mock +import mock from osc_lib import exceptions from openstackclient.identity.v2_0 import role_assignment diff --git a/openstackclient/tests/unit/identity/v3/fakes.py b/openstackclient/tests/unit/identity/v3/fakes.py index c7d29885..997bcf63 100644 --- a/openstackclient/tests/unit/identity/v3/fakes.py +++ b/openstackclient/tests/unit/identity/v3/fakes.py @@ -14,11 +14,11 @@ # import copy -import mock import uuid from keystoneauth1 import access from keystoneauth1 import fixture +import mock from openstackclient.tests.unit import fakes from openstackclient.tests.unit import utils diff --git a/openstackclient/tests/unit/identity/v3/test_identity_provider.py b/openstackclient/tests/unit/identity/v3/test_identity_provider.py index def6e0ce..dc82ab74 100644 --- a/openstackclient/tests/unit/identity/v3/test_identity_provider.py +++ b/openstackclient/tests/unit/identity/v3/test_identity_provider.py @@ -13,6 +13,7 @@ # under the License. import copy + import mock from openstackclient.identity.v3 import identity_provider diff --git a/openstackclient/tests/unit/identity/v3/test_mappings.py b/openstackclient/tests/unit/identity/v3/test_mappings.py index 93fe1196..1d8e77d9 100644 --- a/openstackclient/tests/unit/identity/v3/test_mappings.py +++ b/openstackclient/tests/unit/identity/v3/test_mappings.py @@ -13,8 +13,8 @@ # under the License. import copy -import mock +import mock from osc_lib import exceptions from openstackclient.identity.v3 import mapping diff --git a/openstackclient/tests/unit/identity/v3/test_role.py b/openstackclient/tests/unit/identity/v3/test_role.py index 39dbd244..281d530c 100644 --- a/openstackclient/tests/unit/identity/v3/test_role.py +++ b/openstackclient/tests/unit/identity/v3/test_role.py @@ -14,8 +14,8 @@ # import copy -import mock +import mock from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/identity/v3/test_role_assignment.py b/openstackclient/tests/unit/identity/v3/test_role_assignment.py index 32fbb7f1..835837e6 100644 --- a/openstackclient/tests/unit/identity/v3/test_role_assignment.py +++ b/openstackclient/tests/unit/identity/v3/test_role_assignment.py @@ -12,6 +12,7 @@ # import copy + import mock from openstackclient.identity.v3 import role_assignment diff --git a/openstackclient/tests/unit/identity/v3/test_trust.py b/openstackclient/tests/unit/identity/v3/test_trust.py index 614aab54..1355b908 100644 --- a/openstackclient/tests/unit/identity/v3/test_trust.py +++ b/openstackclient/tests/unit/identity/v3/test_trust.py @@ -12,8 +12,8 @@ # import copy -import mock +import mock from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/identity/v3/test_user.py b/openstackclient/tests/unit/identity/v3/test_user.py index 96f50766..920ee950 100644 --- a/openstackclient/tests/unit/identity/v3/test_user.py +++ b/openstackclient/tests/unit/identity/v3/test_user.py @@ -14,8 +14,8 @@ # import contextlib -import mock +import mock from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/image/v1/fakes.py b/openstackclient/tests/unit/image/v1/fakes.py index 4b6d278c..80306257 100644 --- a/openstackclient/tests/unit/image/v1/fakes.py +++ b/openstackclient/tests/unit/image/v1/fakes.py @@ -14,9 +14,10 @@ # import copy -import mock import uuid +import mock + from openstackclient.tests.unit import fakes from openstackclient.tests.unit import utils from openstackclient.tests.unit.volume.v1 import fakes as volume_fakes diff --git a/openstackclient/tests/unit/image/v1/test_image.py b/openstackclient/tests/unit/image/v1/test_image.py index 41ddc49f..8a83feb0 100644 --- a/openstackclient/tests/unit/image/v1/test_image.py +++ b/openstackclient/tests/unit/image/v1/test_image.py @@ -14,8 +14,8 @@ # import copy -import mock +import mock from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/image/v2/fakes.py b/openstackclient/tests/unit/image/v2/fakes.py index 0255ce38..eabc9325 100644 --- a/openstackclient/tests/unit/image/v2/fakes.py +++ b/openstackclient/tests/unit/image/v2/fakes.py @@ -14,11 +14,11 @@ # import copy -import mock import random import uuid from glanceclient.v2 import schemas +import mock from osc_lib import utils as common_utils import warlock diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py index 484a2bc6..429ddd28 100644 --- a/openstackclient/tests/unit/image/v2/test_image.py +++ b/openstackclient/tests/unit/image/v2/test_image.py @@ -14,9 +14,9 @@ # import copy -import mock from glanceclient.v2 import schemas +import mock from osc_lib import exceptions from osc_lib import utils as common_utils import warlock diff --git a/openstackclient/tests/unit/integ/cli/test_shell.py b/openstackclient/tests/unit/integ/cli/test_shell.py index 4e91f637..78663fbc 100644 --- a/openstackclient/tests/unit/integ/cli/test_shell.py +++ b/openstackclient/tests/unit/integ/cli/test_shell.py @@ -11,8 +11,8 @@ # under the License. import copy -import mock +import mock from osc_lib.tests import utils as osc_lib_utils from openstackclient import shell diff --git a/openstackclient/tests/unit/network/test_common.py b/openstackclient/tests/unit/network/test_common.py index 4b9a754b..c8dce0af 100644 --- a/openstackclient/tests/unit/network/test_common.py +++ b/openstackclient/tests/unit/network/test_common.py @@ -12,6 +12,7 @@ # import argparse + import mock import openstack diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py index eadab584..bdc1c1fb 100644 --- a/openstackclient/tests/unit/network/v2/fakes.py +++ b/openstackclient/tests/unit/network/v2/fakes.py @@ -13,11 +13,12 @@ import argparse import copy -import mock from random import choice from random import randint import uuid +import mock + from openstackclient.tests.unit import fakes from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes_v3 from openstackclient.tests.unit import utils diff --git a/openstackclient/tests/unit/network/v2/test_network.py b/openstackclient/tests/unit/network/v2/test_network.py index 7b20c793..357088f3 100644 --- a/openstackclient/tests/unit/network/v2/test_network.py +++ b/openstackclient/tests/unit/network/v2/test_network.py @@ -11,10 +11,10 @@ # under the License. # -import mock -from mock import call import random +import mock +from mock import call from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py index 97be5afd..45e1045d 100644 --- a/openstackclient/tests/unit/network/v2/test_port.py +++ b/openstackclient/tests/unit/network/v2/test_port.py @@ -12,8 +12,8 @@ # import argparse -import mock +import mock from mock import call from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/network/v2/test_subnet_pool.py b/openstackclient/tests/unit/network/v2/test_subnet_pool.py index 139fddf8..81f0278f 100644 --- a/openstackclient/tests/unit/network/v2/test_subnet_pool.py +++ b/openstackclient/tests/unit/network/v2/test_subnet_pool.py @@ -12,9 +12,9 @@ # import argparse + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/object/v1/test_container.py b/openstackclient/tests/unit/object/v1/test_container.py index 37b8c705..39e2d80f 100644 --- a/openstackclient/tests/unit/object/v1/test_container.py +++ b/openstackclient/tests/unit/object/v1/test_container.py @@ -14,6 +14,7 @@ # import copy + import mock from openstackclient.api import object_store_v1 as object_store diff --git a/openstackclient/tests/unit/object/v1/test_object.py b/openstackclient/tests/unit/object/v1/test_object.py index c0ac204d..b6299373 100644 --- a/openstackclient/tests/unit/object/v1/test_object.py +++ b/openstackclient/tests/unit/object/v1/test_object.py @@ -14,6 +14,7 @@ # import copy + import mock from openstackclient.api import object_store_v1 as object_store diff --git a/openstackclient/tests/unit/test_shell.py b/openstackclient/tests/unit/test_shell.py index b9fac684..dff37f10 100644 --- a/openstackclient/tests/unit/test_shell.py +++ b/openstackclient/tests/unit/test_shell.py @@ -13,10 +13,10 @@ # under the License. # -import mock import os import sys +import mock from osc_lib.tests import utils as osc_lib_test_utils from oslo_utils import importutils import wrapt diff --git a/openstackclient/tests/unit/utils.py b/openstackclient/tests/unit/utils.py index 8f9cc7b1..926dad87 100644 --- a/openstackclient/tests/unit/utils.py +++ b/openstackclient/tests/unit/utils.py @@ -14,8 +14,9 @@ # under the License. # -import fixtures import os + +import fixtures import testtools from openstackclient.tests.unit import fakes diff --git a/openstackclient/tests/unit/volume/v1/fakes.py b/openstackclient/tests/unit/volume/v1/fakes.py index fff5181d..de9c724f 100644 --- a/openstackclient/tests/unit/volume/v1/fakes.py +++ b/openstackclient/tests/unit/volume/v1/fakes.py @@ -14,10 +14,11 @@ # import copy -import mock import random import uuid +import mock + from openstackclient.tests.unit import fakes from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes from openstackclient.tests.unit import utils diff --git a/openstackclient/tests/unit/volume/v1/test_qos_specs.py b/openstackclient/tests/unit/volume/v1/test_qos_specs.py index a88c1cd8..442840f9 100644 --- a/openstackclient/tests/unit/volume/v1/test_qos_specs.py +++ b/openstackclient/tests/unit/volume/v1/test_qos_specs.py @@ -14,9 +14,9 @@ # import copy + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/volume/v1/test_volume.py b/openstackclient/tests/unit/volume/v1/test_volume.py index 6b793773..eee5acd7 100644 --- a/openstackclient/tests/unit/volume/v1/test_volume.py +++ b/openstackclient/tests/unit/volume/v1/test_volume.py @@ -14,9 +14,9 @@ # import argparse + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/volume/v2/fakes.py b/openstackclient/tests/unit/volume/v2/fakes.py index d321c71a..27f37bd8 100644 --- a/openstackclient/tests/unit/volume/v2/fakes.py +++ b/openstackclient/tests/unit/volume/v2/fakes.py @@ -13,10 +13,10 @@ # import copy -import mock import random import uuid +import mock from osc_lib import utils as common_utils from openstackclient.tests.unit import fakes diff --git a/openstackclient/tests/unit/volume/v2/test_qos_specs.py b/openstackclient/tests/unit/volume/v2/test_qos_specs.py index 8f145a7e..2b935e20 100644 --- a/openstackclient/tests/unit/volume/v2/test_qos_specs.py +++ b/openstackclient/tests/unit/volume/v2/test_qos_specs.py @@ -14,9 +14,9 @@ # import copy + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/volume/v2/test_snapshot.py b/openstackclient/tests/unit/volume/v2/test_snapshot.py index 16d0602b..e8f4ae5a 100644 --- a/openstackclient/tests/unit/volume/v2/test_snapshot.py +++ b/openstackclient/tests/unit/volume/v2/test_snapshot.py @@ -13,9 +13,9 @@ # import argparse + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils diff --git a/openstackclient/tests/unit/volume/v2/test_volume.py b/openstackclient/tests/unit/volume/v2/test_volume.py index 71e4ecea..2fa924b8 100644 --- a/openstackclient/tests/unit/volume/v2/test_volume.py +++ b/openstackclient/tests/unit/volume/v2/test_volume.py @@ -13,9 +13,9 @@ # import argparse + import mock from mock import call - from osc_lib import exceptions from osc_lib import utils -- cgit v1.2.1 From 8cd3e258c5029a8efedab40019d6cfd3eac379f5 Mon Sep 17 00:00:00 2001 From: Harry Rybacki Date: Wed, 19 Jul 2017 13:07:34 +0000 Subject: Implied Roles Allow the user to create an inference rule between two roles. The first, called the prior role is the role explicitly assigned to an individual. The second, called the implied role, is one that the user gets implicitly. For example: Role B implies Role A. User X is assigned Role B. Therefore User X also assigned Role A. The management and maintenance of the rules is performed in the Keystone server. Change-Id: If547c2f16e812bc7fffd742ec37e6a26011f3185 --- openstackclient/identity/v3/implied_role.py | 129 +++++++++++++++ openstackclient/tests/unit/identity/v3/fakes.py | 24 +++ .../tests/unit/identity/v3/test_implied_role.py | 181 +++++++++++++++++++++ 3 files changed, 334 insertions(+) create mode 100644 openstackclient/identity/v3/implied_role.py create mode 100644 openstackclient/tests/unit/identity/v3/test_implied_role.py (limited to 'openstackclient') diff --git a/openstackclient/identity/v3/implied_role.py b/openstackclient/identity/v3/implied_role.py new file mode 100644 index 00000000..c7623389 --- /dev/null +++ b/openstackclient/identity/v3/implied_role.py @@ -0,0 +1,129 @@ +# Copyright 2012-2013 OpenStack Foundation +# +# 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. +# + +"""Identity v3 Implied Role action implementations""" + +import logging + +from osc_lib.command import command +import six + +from openstackclient.i18n import _ + + +LOG = logging.getLogger(__name__) + + +def _get_role_ids(identity_client, parsed_args): + """Return prior and implied role id(s) + + If prior and implied role id(s) are retrievable from identity + client, return tuple containing them. + """ + role_id = None + implied_role_id = None + + roles = identity_client.roles.list() + + for role in roles: + role_id_or_name = (role.name, role.id) + + if parsed_args.role in role_id_or_name: + role_id = role.id + elif parsed_args.implied_role in role_id_or_name: + implied_role_id = role.id + + return (role_id, implied_role_id) + + +class CreateImpliedRole(command.ShowOne): + + _description = _("Creates an association between prior and implied roles") + + def get_parser(self, prog_name): + parser = super(CreateImpliedRole, self).get_parser(prog_name) + parser.add_argument( + 'role', + metavar='', + help=_('Role (name or ID) that implies another role'), + ) + parser.add_argument( + '--implied-role', + metavar='', + help=' (name or ID) implied by another role', + required=True, + ) + return parser + + def take_action(self, parsed_args): + identity_client = self.app.client_manager.identity + (prior_role_id, implied_role_id) = _get_role_ids( + identity_client, parsed_args) + response = identity_client.roles.create_implied( + prior_role_id, implied_role_id) + response._info.pop('links', None) + return zip(*sorted([(k, v['id']) + for k, v in six.iteritems(response._info)])) + + +class DeleteImpliedRole(command.Command): + + _description = _("Deletes an association between prior and implied roles") + + def get_parser(self, prog_name): + parser = super(DeleteImpliedRole, self).get_parser(prog_name) + parser.add_argument( + 'role', + metavar='', + help=_('Role (name or ID) that implies another role'), + ) + parser.add_argument( + '--implied-role', + metavar='', + help=' (name or ID) implied by another role', + required=True, + ) + return parser + + def take_action(self, parsed_args): + identity_client = self.app.client_manager.identity + (prior_role_id, implied_role_id) = _get_role_ids( + identity_client, parsed_args) + identity_client.roles.delete_implied( + prior_role_id, implied_role_id) + + +class ListImpliedRole(command.Lister): + + _description = _("List implied roles") + _COLUMNS = ['Prior Role ID', 'Prior Role Name', + 'Implied Role ID', 'Implied Role Name'] + + def get_parser(self, prog_name): + parser = super(ListImpliedRole, self).get_parser(prog_name) + return parser + + def take_action(self, parsed_args): + def _list_implied(response): + for rule in response: + for implies in rule.implies: + yield (rule.prior_role['id'], + rule.prior_role['name'], + implies['id'], + implies['name']) + + identity_client = self.app.client_manager.identity + response = identity_client.roles.list_inference_roles() + return (self._COLUMNS, _list_implied(response)) diff --git a/openstackclient/tests/unit/identity/v3/fakes.py b/openstackclient/tests/unit/identity/v3/fakes.py index 997bcf63..7de25152 100644 --- a/openstackclient/tests/unit/identity/v3/fakes.py +++ b/openstackclient/tests/unit/identity/v3/fakes.py @@ -184,6 +184,8 @@ ROLE_2 = { 'links': base_url + 'roles/' + 'r2', } +ROLES = [ROLE, ROLE_2] + service_id = 's-123' service_name = 'Texaco' service_type = 'gas' @@ -968,3 +970,25 @@ class FakeRoleAssignment(object): info=copy.deepcopy(role_assignment_info), loaded=True) return role_assignment + + +class FakeImpliedRoleResponse(object): + """Fake one or more role assignment.""" + def __init__(self, prior_role, implied_roles): + self.prior_role = prior_role + self.implies = [role for role in implied_roles] + + @staticmethod + def create_list(): + """Create a fake implied role list response. + + :return: + A list of FakeImpliedRoleResponse objects + """ + + # set default attributes. + implied_roles = [ + FakeImpliedRoleResponse(ROLES[0], [ROLES[1]]) + ] + + return implied_roles diff --git a/openstackclient/tests/unit/identity/v3/test_implied_role.py b/openstackclient/tests/unit/identity/v3/test_implied_role.py new file mode 100644 index 00000000..08273f73 --- /dev/null +++ b/openstackclient/tests/unit/identity/v3/test_implied_role.py @@ -0,0 +1,181 @@ +# Copyright 2013 Nebula Inc. +# +# 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 copy + +from openstackclient.identity.v3 import implied_role +from openstackclient.tests.unit import fakes +from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes + + +class TestRole(identity_fakes.TestIdentityv3): + + def setUp(self): + super(TestRole, self).setUp() + + # Get a shortcut to the UserManager Mock + self.users_mock = self.app.client_manager.identity.users + self.users_mock.reset_mock() + + # Get a shortcut to the UserManager Mock + self.groups_mock = self.app.client_manager.identity.groups + self.groups_mock.reset_mock() + + # Get a shortcut to the DomainManager Mock + self.domains_mock = self.app.client_manager.identity.domains + self.domains_mock.reset_mock() + + # Get a shortcut to the ProjectManager Mock + self.projects_mock = self.app.client_manager.identity.projects + self.projects_mock.reset_mock() + + # Get a shortcut to the RoleManager Mock + self.roles_mock = self.app.client_manager.identity.roles + self.roles_mock.reset_mock() + + def _is_inheritance_testcase(self): + return False + + +class TestImpliedRoleCreate(TestRole): + + def setUp(self): + super(TestImpliedRoleCreate, self).setUp() + + self.roles_mock.list.return_value = [ + fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.ROLES[0]), + loaded=True, + ), + fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.ROLES[1]), + loaded=True, + ), + ] + + self.roles_mock.create_implied.return_value = fakes.FakeResource( + None, + {'prior_role': copy.deepcopy(identity_fakes.ROLES[0]), + 'implied': copy.deepcopy(identity_fakes.ROLES[1]), }, + loaded=True, + ) + + self.cmd = implied_role.CreateImpliedRole(self.app, None) + + def test_implied_role_create(self): + + arglist = [ + identity_fakes.ROLES[0]['id'], + '--implied-role', identity_fakes.ROLES[1]['id'], + ] + verifylist = [ + ('role', identity_fakes.ROLES[0]['id']), + ('implied_role', identity_fakes.ROLES[1]['id']), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # In base command class ShowOne in cliff, abstract method take_action() + # returns a two-part tuple with a tuple of column names and a tuple of + # data to be shown. + columns, data = self.cmd.take_action(parsed_args) + + # RoleManager.create_implied(prior, implied) + self.roles_mock.create_implied.assert_called_with( + identity_fakes.ROLES[0]['id'], + identity_fakes.ROLES[1]['id'] + ) + + collist = ('implied', 'prior_role') + self.assertEqual(collist, columns) + datalist = ( + identity_fakes.ROLES[1]['id'], + identity_fakes.ROLES[0]['id'] + ) + self.assertEqual(datalist, data) + + +class TestImpliedRoleDelete(TestRole): + + def setUp(self): + super(TestImpliedRoleDelete, self).setUp() + + self.roles_mock.list.return_value = [ + fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.ROLES[0]), + loaded=True, + ), + fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.ROLES[1]), + loaded=True, + ), + ] + + self.roles_mock.delete_implied.return_value = fakes.FakeResource( + None, + {'prior-role': copy.deepcopy(identity_fakes.ROLES[0]), + 'implied': copy.deepcopy(identity_fakes.ROLES[1]), }, + loaded=True, + ) + + self.cmd = implied_role.DeleteImpliedRole(self.app, None) + + def test_implied_role_delete(self): + arglist = [ + identity_fakes.ROLES[0]['id'], + '--implied-role', identity_fakes.ROLES[1]['id'], + ] + verifylist = [ + ('role', identity_fakes.ROLES[0]['id']), + ('implied_role', identity_fakes.ROLES[1]['id']), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + self.cmd.take_action(parsed_args) + + self.roles_mock.delete_implied.assert_called_with( + identity_fakes.ROLES[0]['id'], + identity_fakes.ROLES[1]['id'] + ) + + +class TestImpliedRoleList(TestRole): + + def setUp(self): + super(TestImpliedRoleList, self).setUp() + + self.roles_mock.list_inference_roles.return_value = ( + identity_fakes.FakeImpliedRoleResponse.create_list()) + + self.cmd = implied_role.ListImpliedRole(self.app, None) + + def test_implied_role_list(self): + arglist = [] + verifylist = [] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + columns, data = self.cmd.take_action(parsed_args) + self.roles_mock.list_inference_roles.assert_called_with() + + collist = ['Prior Role ID', 'Prior Role Name', + 'Implied Role ID', 'Implied Role Name'] + self.assertEqual(collist, columns) + datalist = [ + (identity_fakes.ROLES[0]['id'], identity_fakes.ROLES[0]['name'], + identity_fakes.ROLES[1]['id'], identity_fakes.ROLES[1]['name']) + ] + x = [d for d in data] + self.assertEqual(datalist, x) -- cgit v1.2.1 From ff85c627078ec8d4770ba875ad35f5e63facb173 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Tue, 22 Aug 2017 21:38:07 +0000 Subject: flake8-import-order: Ensure to place project imports last To ensure project imports are placed after third party import, we need to specify application-import-names. Previously flake8-import-check checked only standard imports or not. Change-Id: Iad7afa456cec7cf5b44955f1ea03c593a4c0e426 --- openstackclient/tests/functional/compute/v2/test_keypair.py | 4 ++-- openstackclient/tests/functional/identity/v3/test_service_provider.py | 3 ++- openstackclient/tests/unit/api/test_compute_v2.py | 4 ++-- openstackclient/tests/unit/network/test_common.py | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/functional/compute/v2/test_keypair.py b/openstackclient/tests/functional/compute/v2/test_keypair.py index 1e1a03d6..9a88e66f 100644 --- a/openstackclient/tests/functional/compute/v2/test_keypair.py +++ b/openstackclient/tests/functional/compute/v2/test_keypair.py @@ -13,11 +13,11 @@ import json import tempfile -from openstackclient.tests.functional import base - from tempest.lib.common.utils import data_utils from tempest.lib import exceptions +from openstackclient.tests.functional import base + class KeypairBase(base.TestCase): """Methods for functional tests.""" diff --git a/openstackclient/tests/functional/identity/v3/test_service_provider.py b/openstackclient/tests/functional/identity/v3/test_service_provider.py index e072bc93..32b7a463 100644 --- a/openstackclient/tests/functional/identity/v3/test_service_provider.py +++ b/openstackclient/tests/functional/identity/v3/test_service_provider.py @@ -10,9 +10,10 @@ # License for the specific language governing permissions and limitations # under the License. -from openstackclient.tests.functional.identity.v3 import common from tempest.lib.common.utils import data_utils +from openstackclient.tests.functional.identity.v3 import common + class ServiceProviderTests(common.IdentityTests): # Introduce functional test cases for command 'Service Provider' diff --git a/openstackclient/tests/unit/api/test_compute_v2.py b/openstackclient/tests/unit/api/test_compute_v2.py index f10fb6cf..56b35937 100644 --- a/openstackclient/tests/unit/api/test_compute_v2.py +++ b/openstackclient/tests/unit/api/test_compute_v2.py @@ -13,12 +13,12 @@ """Compute v2 API Library Tests""" +from keystoneclient import session +from osc_lib import exceptions as osc_lib_exceptions from requests_mock.contrib import fixture -from keystoneclient import session from openstackclient.api import compute_v2 as compute from openstackclient.tests.unit import utils -from osc_lib import exceptions as osc_lib_exceptions FAKE_PROJECT = 'xyzpdq' diff --git a/openstackclient/tests/unit/network/test_common.py b/openstackclient/tests/unit/network/test_common.py index c8dce0af..d4d3a277 100644 --- a/openstackclient/tests/unit/network/test_common.py +++ b/openstackclient/tests/unit/network/test_common.py @@ -14,8 +14,8 @@ import argparse import mock - import openstack + from openstackclient.common import exceptions from openstackclient.network import common from openstackclient.tests.unit import utils -- cgit v1.2.1 From d33ab499ed510a6dfb34a44b0a33945e7f8b0d1f Mon Sep 17 00:00:00 2001 From: lihaijing Date: Wed, 23 Aug 2017 12:59:46 +0800 Subject: Fix "openstack image unset" command's help message typo Change-Id: Ie286d9ee6054cc2126473d7e6e77bafbfd80023b Closes-Bug: #1712473 --- openstackclient/image/v2/image.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py index c2c5c594..30dd9380 100644 --- a/openstackclient/image/v2/image.py +++ b/openstackclient/image/v2/image.py @@ -990,7 +990,7 @@ class UnsetImage(command.Command): default=[], action='append', help=_("Unset a tag on this image " - "(repeat option to set multiple tags)"), + "(repeat option to unset multiple tags)"), ) parser.add_argument( "--property", @@ -999,7 +999,7 @@ class UnsetImage(command.Command): default=[], action='append', help=_("Unset a property on this image " - "(repeat option to set multiple properties)"), + "(repeat option to unset multiple properties)"), ) return parser -- cgit v1.2.1 From 95e279176b05e0096988ae596f1e02adda248935 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Wed, 23 Aug 2017 21:14:47 +0000 Subject: Convert network security group functional tests to JSON Change-Id: Icb63aa0dfbce9016fb824f97915a660cf130d120 --- .../functional/network/v2/test_security_group.py | 70 ++++++----------- .../network/v2/test_security_group_rule.py | 88 ++++++++-------------- 2 files changed, 52 insertions(+), 106 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/functional/network/v2/test_security_group.py b/openstackclient/tests/functional/network/v2/test_security_group.py index b601c913..8ae24b72 100644 --- a/openstackclient/tests/functional/network/v2/test_security_group.py +++ b/openstackclient/tests/functional/network/v2/test_security_group.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -17,44 +18,6 @@ from openstackclient.tests.functional.network.v2 import common class SecurityGroupTests(common.NetworkTests): """Functional tests for security group""" - HEADERS = ['Name'] - FIELDS = ['name'] - - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - cls.NAME = uuid.uuid4().hex - cls.OTHER_NAME = uuid.uuid4().hex - - opts = cls.get_opts(cls.FIELDS) - raw_output = cls.openstack( - 'security group create ' + - cls.NAME + - opts - ) - expected = cls.NAME + '\n' - cls.assertOutput(expected, raw_output) - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - # Rename test - raw_output = cls.openstack( - 'security group set --name ' + - cls.OTHER_NAME + ' ' + - cls.NAME - ) - cls.assertOutput('', raw_output) - # Delete test - raw_output = cls.openstack( - 'security group delete ' + - cls.OTHER_NAME - ) - cls.assertOutput('', raw_output) - finally: - super(SecurityGroupTests, cls).tearDownClass() def setUp(self): super(SecurityGroupTests, self).setUp() @@ -62,22 +25,33 @@ class SecurityGroupTests(common.NetworkTests): if not self.haz_network: self.skipTest("No Network service present") + self.NAME = uuid.uuid4().hex + self.OTHER_NAME = uuid.uuid4().hex + cmd_output = json.loads(self.openstack( + 'security group create -f json ' + + self.NAME + )) + self.addCleanup(self.openstack, + 'security group delete ' + cmd_output['id']) + self.assertEqual(self.NAME, cmd_output['name']) + def test_security_group_list(self): - opts = self.get_opts(self.HEADERS) - raw_output = self.openstack('security group list' + opts) - self.assertIn(self.NAME, raw_output) + cmd_output = json.loads(self.openstack('security group list -f json')) + self.assertIn(self.NAME, [sg['Name'] for sg in cmd_output]) def test_security_group_set(self): + other_name = uuid.uuid4().hex raw_output = self.openstack( - 'security group set --description NSA ' + self.NAME + 'security group set --description NSA --name ' + + other_name + ' ' + self.NAME ) self.assertEqual('', raw_output) - opts = self.get_opts(['description']) - raw_output = self.openstack('security group show ' + self.NAME + opts) - self.assertEqual("NSA\n", raw_output) + cmd_output = json.loads(self.openstack( + 'security group show -f json ' + other_name)) + self.assertEqual('NSA', cmd_output['description']) def test_security_group_show(self): - opts = self.get_opts(self.FIELDS) - raw_output = self.openstack('security group show ' + self.NAME + opts) - self.assertEqual(self.NAME + "\n", raw_output) + cmd_output = json.loads(self.openstack( + 'security group show -f json ' + self.NAME)) + self.assertEqual(self.NAME, cmd_output['name']) diff --git a/openstackclient/tests/functional/network/v2/test_security_group_rule.py b/openstackclient/tests/functional/network/v2/test_security_group_rule.py index 40951a01..fe78bf47 100644 --- a/openstackclient/tests/functional/network/v2/test_security_group_rule.py +++ b/openstackclient/tests/functional/network/v2/test_security_group_rule.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -17,54 +18,6 @@ from openstackclient.tests.functional.network.v2 import common class SecurityGroupRuleTests(common.NetworkTests): """Functional tests for security group rule""" - SECURITY_GROUP_RULE_ID = None - NAME_FIELD = ['name'] - ID_FIELD = ['id'] - ID_HEADER = ['ID'] - - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - cls.SECURITY_GROUP_NAME = uuid.uuid4().hex - - # Create the security group to hold the rule - opts = cls.get_opts(cls.NAME_FIELD) - raw_output = cls.openstack( - 'security group create ' + - cls.SECURITY_GROUP_NAME + - opts - ) - expected = cls.SECURITY_GROUP_NAME + '\n' - cls.assertOutput(expected, raw_output) - - # Create the security group rule. - opts = cls.get_opts(cls.ID_FIELD) - raw_output = cls.openstack( - 'security group rule create ' + - cls.SECURITY_GROUP_NAME + ' ' + - '--protocol tcp --dst-port 80:80 ' + - '--ingress --ethertype IPv4 ' + - opts - ) - cls.SECURITY_GROUP_RULE_ID = raw_output.strip('\n') - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - raw_output = cls.openstack( - 'security group rule delete ' + - cls.SECURITY_GROUP_RULE_ID - ) - cls.assertOutput('', raw_output) - raw_output = cls.openstack( - 'security group delete ' + - cls.SECURITY_GROUP_NAME - ) - cls.assertOutput('', raw_output) - finally: - super(SecurityGroupRuleTests, cls).tearDownClass() def setUp(self): super(SecurityGroupRuleTests, self).setUp() @@ -72,16 +25,35 @@ class SecurityGroupRuleTests(common.NetworkTests): if not self.haz_network: self.skipTest("No Network service present") + self.SECURITY_GROUP_NAME = uuid.uuid4().hex + + # Create the security group to hold the rule + cmd_output = json.loads(self.openstack( + 'security group create -f json ' + + self.SECURITY_GROUP_NAME + )) + self.addCleanup(self.openstack, + 'security group delete ' + self.SECURITY_GROUP_NAME) + self.assertEqual(self.SECURITY_GROUP_NAME, cmd_output['name']) + + # Create the security group rule. + cmd_output = json.loads(self.openstack( + 'security group rule create -f json ' + + self.SECURITY_GROUP_NAME + ' ' + + '--protocol tcp --dst-port 80:80 ' + + '--ingress --ethertype IPv4 ' + )) + self.addCleanup(self.openstack, + 'security group rule delete ' + cmd_output['id']) + self.SECURITY_GROUP_RULE_ID = cmd_output['id'] + def test_security_group_rule_list(self): - opts = self.get_opts(self.ID_HEADER) - raw_output = self.openstack('security group rule list ' + - self.SECURITY_GROUP_NAME + - opts) - self.assertIn(self.SECURITY_GROUP_RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'security group rule list -f json ' + self.SECURITY_GROUP_NAME)) + self.assertIn(self.SECURITY_GROUP_RULE_ID, + [rule['ID'] for rule in cmd_output]) def test_security_group_rule_show(self): - opts = self.get_opts(self.ID_FIELD) - raw_output = self.openstack('security group rule show ' + - self.SECURITY_GROUP_RULE_ID + - opts) - self.assertEqual(self.SECURITY_GROUP_RULE_ID + "\n", raw_output) + cmd_output = json.loads(self.openstack( + 'security group rule show -f json ' + self.SECURITY_GROUP_RULE_ID)) + self.assertEqual(self.SECURITY_GROUP_RULE_ID, cmd_output['id']) -- cgit v1.2.1 From fe8a50b6b1448038073c47c55b46fc4ebf4a6080 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Wed, 23 Aug 2017 21:15:12 +0000 Subject: Convert network qos functional tests to JSON Change-Id: Ie5cde2f927ec6abb6334ea01adfb06749384ed01 --- .../network/v2/test_network_qos_policy.py | 80 ++--- .../functional/network/v2/test_network_qos_rule.py | 339 ++++++++++----------- .../network/v2/test_network_qos_rule_type.py | 7 +- 3 files changed, 193 insertions(+), 233 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_policy.py b/openstackclient/tests/functional/network/v2/test_network_qos_policy.py index 53c15ecf..27c1b6aa 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_policy.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_policy.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -20,34 +21,6 @@ from openstackclient.tests.functional.network.v2 import common class NetworkQosPolicyTests(common.NetworkTests): """Functional tests for QoS policy""" - HEADERS = ['Name'] - FIELDS = ['name'] - - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - cls.NAME = uuid.uuid4().hex - - opts = cls.get_opts(cls.FIELDS) - raw_output = cls.openstack( - 'network qos policy create ' + - cls.NAME + - opts - ) - cls.assertOutput(cls.NAME + "\n", raw_output) - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - raw_output = cls.openstack( - 'network qos policy delete ' + - cls.NAME - ) - cls.assertOutput('', raw_output) - finally: - super(NetworkQosPolicyTests, cls).tearDownClass() def setUp(self): super(NetworkQosPolicyTests, self).setUp() @@ -55,33 +28,46 @@ class NetworkQosPolicyTests(common.NetworkTests): if not self.haz_network: self.skipTest("No Network service present") + self.NAME = uuid.uuid4().hex + cmd_output = json.loads(self.openstack( + 'network qos policy create -f json ' + + self.NAME + )) + self.addCleanup(self.openstack, + 'network qos policy delete ' + self.NAME) + self.assertEqual(self.NAME, cmd_output['name']) + + def test_qos_rule_create_delete(self): + # This is to check the output of qos policy delete + policy_name = uuid.uuid4().hex + self.openstack('network qos policy create -f json ' + policy_name) + raw_output = self.openstack( + 'network qos policy delete ' + policy_name) + self.assertEqual('', raw_output) + def test_qos_policy_list(self): - opts = self.get_opts(self.HEADERS) - raw_output = self.openstack('network qos policy list' + opts) - self.assertIn(self.NAME, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos policy list -f json')) + self.assertIn(self.NAME, [p['Name'] for p in cmd_output]) def test_qos_policy_show(self): - opts = self.get_opts(self.FIELDS) - raw_output = self.openstack('network qos policy show ' + self.NAME + - opts) - self.assertEqual(self.NAME + "\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network qos policy show -f json ' + self.NAME)) + self.assertEqual(self.NAME, cmd_output['name']) def test_qos_policy_set(self): self.openstack('network qos policy set --share ' + self.NAME) - opts = self.get_opts(['shared']) - raw_output = self.openstack('network qos policy show ' + self.NAME + - opts) - self.assertEqual("True\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network qos policy show -f json ' + self.NAME)) + self.assertTrue(cmd_output['shared']) def test_qos_policy_default(self): self.openstack('network qos policy set --default ' + self.NAME) - opts = self.get_opts(['is_default']) - raw_output = self.openstack('network qos policy show ' + self.NAME + - opts) - self.assertEqual("True\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network qos policy show -f json ' + self.NAME)) + self.assertTrue(cmd_output['is_default']) self.openstack('network qos policy set --no-default ' + self.NAME) - opts = self.get_opts(['is_default']) - raw_output = self.openstack('network qos policy show ' + self.NAME + - opts) - self.assertEqual("False\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network qos policy show -f json ' + self.NAME)) + self.assertFalse(cmd_output['is_default']) diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_rule.py b/openstackclient/tests/functional/network/v2/test_network_qos_rule.py index 8b34422f..770abe94 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_rule.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_rule.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -20,51 +21,6 @@ from openstackclient.tests.functional.network.v2 import common class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests): """Functional tests for QoS minimum bandwidth rule""" - RULE_ID = None - MIN_KBPS = 2800 - MIN_KBPS_MODIFIED = 7500 - DIRECTION = '--egress' - HEADERS = ['ID'] - FIELDS = ['id'] - TYPE = 'minimum-bandwidth' - - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - cls.QOS_POLICY_NAME = 'qos_policy_' + uuid.uuid4().hex - - opts = cls.get_opts(cls.FIELDS) - cls.openstack( - 'network qos policy create ' + - cls.QOS_POLICY_NAME - ) - cls.RULE_ID = cls.openstack( - 'network qos rule create ' + - '--type ' + cls.TYPE + ' ' + - '--min-kbps ' + str(cls.MIN_KBPS) + ' ' + - cls.DIRECTION + ' ' + - cls.QOS_POLICY_NAME + - opts - ) - cls.assertsOutputNotNone(cls.RULE_ID) - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - raw_output = cls.openstack( - 'network qos rule delete ' + - cls.QOS_POLICY_NAME + ' ' + - cls.RULE_ID - ) - cls.openstack( - 'network qos policy delete ' + - cls.QOS_POLICY_NAME - ) - cls.assertOutput('', raw_output) - finally: - super(NetworkQosRuleTestsMinimumBandwidth, cls).tearDownClass() def setUp(self): super(NetworkQosRuleTestsMinimumBandwidth, self).setUp() @@ -72,72 +28,67 @@ class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests): if not self.haz_network: self.skipTest("No Network service present") + self.QOS_POLICY_NAME = 'qos_policy_' + uuid.uuid4().hex + + self.openstack( + 'network qos policy create ' + + self.QOS_POLICY_NAME + ) + self.addCleanup(self.openstack, + 'network qos policy delete ' + self.QOS_POLICY_NAME) + cmd_output = json.loads(self.openstack( + 'network qos rule create -f json ' + + '--type minimum-bandwidth ' + + '--min-kbps 2800 ' + + '--egress ' + + self.QOS_POLICY_NAME + )) + self.RULE_ID = cmd_output['id'] + self.addCleanup(self.openstack, + 'network qos rule delete ' + + self.QOS_POLICY_NAME + ' ' + + self.RULE_ID) + self.assertTrue(self.RULE_ID) + + def test_qos_rule_create_delete(self): + # This is to check the output of qos rule delete + policy_name = uuid.uuid4().hex + self.openstack('network qos policy create -f json ' + policy_name) + self.addCleanup(self.openstack, + 'network qos policy delete ' + policy_name) + rule = json.loads(self.openstack( + 'network qos rule create -f json ' + + '--type minimum-bandwidth ' + + '--min-kbps 2800 ' + + '--egress ' + policy_name + )) + raw_output = self.openstack( + 'network qos rule delete ' + + policy_name + ' ' + rule['id']) + self.assertEqual('', raw_output) + def test_qos_rule_list(self): - opts = self.get_opts(self.HEADERS) - raw_output = self.openstack('network qos rule list ' - + self.QOS_POLICY_NAME + opts) - self.assertIn(self.RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule list -f json ' + self.QOS_POLICY_NAME)) + self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - opts = self.get_opts(self.FIELDS) - raw_output = self.openstack('network qos rule show ' + - self.QOS_POLICY_NAME + ' ' + self.RULE_ID + - opts) - self.assertEqual(self.RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule show -f json ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID)) + self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): - self.openstack('network qos rule set --min-kbps ' + - str(self.MIN_KBPS_MODIFIED) + ' ' + + self.openstack('network qos rule set --min-kbps 7500 ' + self.QOS_POLICY_NAME + ' ' + self.RULE_ID) - opts = self.get_opts(['min_kbps']) - raw_output = self.openstack('network qos rule show ' + - self.QOS_POLICY_NAME + ' ' + self.RULE_ID + - opts) - self.assertEqual(str(self.MIN_KBPS_MODIFIED) + "\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule show -f json ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID)) + self.assertEqual(7500, cmd_output['min_kbps']) class NetworkQosRuleTestsDSCPMarking(common.NetworkTests): """Functional tests for QoS DSCP marking rule""" - RULE_ID = None - QOS_POLICY_NAME = 'qos_policy_' + uuid.uuid4().hex - DSCP_MARK = 8 - DSCP_MARK_MODIFIED = 32 - HEADERS = ['ID'] - FIELDS = ['id'] - TYPE = 'dscp-marking' - - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - opts = cls.get_opts(cls.FIELDS) - cls.openstack( - 'network qos policy create ' + - cls.QOS_POLICY_NAME - ) - cls.RULE_ID = cls.openstack( - 'network qos rule create ' + - '--type ' + cls.TYPE + ' ' + - '--dscp-mark ' + str(cls.DSCP_MARK) + ' ' + - cls.QOS_POLICY_NAME + - opts - ) - cls.assertsOutputNotNone(cls.RULE_ID) - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - raw_output = cls.openstack( - 'network qos rule delete ' + - cls.QOS_POLICY_NAME + ' ' + - cls.RULE_ID - ) - cls.openstack( - 'network qos policy delete ' + cls.QOS_POLICY_NAME) - cls.assertOutput('', raw_output) - finally: - super(NetworkQosRuleTestsDSCPMarking, cls).tearDownClass() def setUp(self): super(NetworkQosRuleTestsDSCPMarking, self).setUp() @@ -145,78 +96,63 @@ class NetworkQosRuleTestsDSCPMarking(common.NetworkTests): if not self.haz_network: self.skipTest("No Network service present") + self.QOS_POLICY_NAME = 'qos_policy_' + uuid.uuid4().hex + self.openstack( + 'network qos policy create ' + + self.QOS_POLICY_NAME + ) + self.addCleanup(self.openstack, + 'network qos policy delete ' + self.QOS_POLICY_NAME) + cmd_output = json.loads(self.openstack( + 'network qos rule create -f json ' + + '--type dscp-marking ' + + '--dscp-mark 8 ' + + self.QOS_POLICY_NAME + )) + self.RULE_ID = cmd_output['id'] + self.addCleanup(self.openstack, + 'network qos rule delete ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID) + self.assertTrue(self.RULE_ID) + + def test_qos_rule_create_delete(self): + # This is to check the output of qos rule delete + policy_name = uuid.uuid4().hex + self.openstack('network qos policy create -f json ' + policy_name) + self.addCleanup(self.openstack, + 'network qos policy delete ' + policy_name) + rule = json.loads(self.openstack( + 'network qos rule create -f json ' + + '--type dscp-marking ' + + '--dscp-mark 8 ' + policy_name + )) + raw_output = self.openstack( + 'network qos rule delete ' + + policy_name + ' ' + rule['id']) + self.assertEqual('', raw_output) + def test_qos_rule_list(self): - opts = self.get_opts(self.HEADERS) - raw_output = self.openstack('network qos rule list ' - + self.QOS_POLICY_NAME + opts) - self.assertIn(self.RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule list -f json ' + self.QOS_POLICY_NAME)) + self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - opts = self.get_opts(self.FIELDS) - raw_output = self.openstack('network qos rule show ' + - self.QOS_POLICY_NAME + ' ' + self.RULE_ID + - opts) - self.assertEqual(self.RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule show -f json ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID)) + self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): - self.openstack('network qos rule set --dscp-mark ' + - str(self.DSCP_MARK_MODIFIED) + ' ' + + self.openstack('network qos rule set --dscp-mark 32 ' + self.QOS_POLICY_NAME + ' ' + self.RULE_ID) - opts = self.get_opts(['dscp_mark']) - raw_output = self.openstack('network qos rule show ' + - self.QOS_POLICY_NAME + ' ' + self.RULE_ID + - opts) - self.assertEqual(str(self.DSCP_MARK_MODIFIED) + "\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule show -f json ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID)) + self.assertEqual(32, cmd_output['dscp_mark']) class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests): """Functional tests for QoS bandwidth limit rule""" - RULE_ID = None - QOS_POLICY_NAME = 'qos_policy_' + uuid.uuid4().hex - MAX_KBPS = 10000 - MAX_KBPS_MODIFIED = 15000 - MAX_BURST_KBITS = 1400 - MAX_BURST_KBITS_MODIFIED = 1800 - RULE_DIRECTION = 'egress' - RULE_DIRECTION_MODIFIED = 'ingress' - HEADERS = ['ID'] - FIELDS = ['id'] - TYPE = 'bandwidth-limit' - - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - opts = cls.get_opts(cls.FIELDS) - cls.openstack( - 'network qos policy create ' + - cls.QOS_POLICY_NAME - ) - cls.RULE_ID = cls.openstack( - 'network qos rule create ' + - '--type ' + cls.TYPE + ' ' + - '--max-kbps ' + str(cls.MAX_KBPS) + ' ' + - '--max-burst-kbits ' + str(cls.MAX_BURST_KBITS) + ' ' + - '--' + cls.RULE_DIRECTION + ' ' + - cls.QOS_POLICY_NAME + - opts - ) - cls.assertsOutputNotNone(cls.RULE_ID) - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - raw_output = cls.openstack( - 'network qos rule delete ' + - cls.QOS_POLICY_NAME + ' ' + - cls.RULE_ID - ) - cls.openstack( - 'network qos policy delete ' + cls.QOS_POLICY_NAME) - cls.assertOutput('', raw_output) - finally: - super(NetworkQosRuleTestsBandwidthLimit, cls).tearDownClass() def setUp(self): super(NetworkQosRuleTestsBandwidthLimit, self).setUp() @@ -224,30 +160,65 @@ class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests): if not self.haz_network: self.skipTest("No Network service present") + self.QOS_POLICY_NAME = 'qos_policy_' + uuid.uuid4().hex + self.openstack( + 'network qos policy create ' + + self.QOS_POLICY_NAME + ) + self.addCleanup(self.openstack, + 'network qos policy delete ' + self.QOS_POLICY_NAME) + cmd_output = json.loads(self.openstack( + 'network qos rule create -f json ' + + '--type bandwidth-limit ' + + '--max-kbps 10000 ' + + '--max-burst-kbits 1400 ' + + '--egress ' + + self.QOS_POLICY_NAME + )) + self.RULE_ID = cmd_output['id'] + self.addCleanup(self.openstack, + 'network qos rule delete ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID) + self.assertTrue(self.RULE_ID) + + def test_qos_rule_create_delete(self): + # This is to check the output of qos rule delete + policy_name = uuid.uuid4().hex + self.openstack('network qos policy create -f json ' + policy_name) + self.addCleanup(self.openstack, + 'network qos policy delete ' + policy_name) + rule = json.loads(self.openstack( + 'network qos rule create -f json ' + + '--type bandwidth-limit ' + + '--max-kbps 10000 ' + + '--max-burst-kbits 1400 ' + + '--egress ' + policy_name + )) + raw_output = self.openstack( + 'network qos rule delete ' + + policy_name + ' ' + rule['id']) + self.assertEqual('', raw_output) + def test_qos_rule_list(self): - opts = self.get_opts(self.HEADERS) - raw_output = self.openstack('network qos rule list ' - + self.QOS_POLICY_NAME + opts) - self.assertIn(self.RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule list -f json ' + + self.QOS_POLICY_NAME)) + self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - opts = self.get_opts(self.FIELDS) - raw_output = self.openstack('network qos rule show ' + - self.QOS_POLICY_NAME + ' ' + self.RULE_ID + - opts) - self.assertEqual(self.RULE_ID, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule show -f json ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID)) + self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): - self.openstack('network qos rule set --max-kbps ' + - str(self.MAX_KBPS_MODIFIED) + ' --max-burst-kbits ' + - str(self.MAX_BURST_KBITS_MODIFIED) + ' ' + - '--' + self.RULE_DIRECTION_MODIFIED + ' ' + + self.openstack('network qos rule set --max-kbps 15000 ' + + '--max-burst-kbits 1800 ' + + '--ingress ' + self.QOS_POLICY_NAME + ' ' + self.RULE_ID) - opts = self.get_opts(['direction', 'max_burst_kbps', 'max_kbps']) - raw_output = self.openstack('network qos rule show ' + - self.QOS_POLICY_NAME + ' ' + self.RULE_ID + - opts) - expected = (str(self.RULE_DIRECTION_MODIFIED) + "\n" + - str(self.MAX_BURST_KBITS_MODIFIED) + "\n" + - str(self.MAX_KBPS_MODIFIED) + "\n") - self.assertEqual(expected, raw_output) + cmd_output = json.loads(self.openstack( + 'network qos rule show -f json ' + + self.QOS_POLICY_NAME + ' ' + self.RULE_ID)) + self.assertEqual(15000, cmd_output['max_kbps']) + self.assertEqual(1800, cmd_output['max_burst_kbps']) + self.assertEqual('ingress', cmd_output['direction']) diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py b/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py index d7612936..a6ee3e10 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +import json + from openstackclient.tests.functional.network.v2 import common @@ -29,6 +31,7 @@ class NetworkQosRuleTypeTests(common.NetworkTests): self.skipTest("No Network service present") def test_qos_rule_type_list(self): - raw_output = self.openstack('network qos rule type list') + cmd_output = json.loads(self.openstack( + 'network qos rule type list -f json')) for rule_type in self.AVAILABLE_RULE_TYPES: - self.assertIn(rule_type, raw_output) + self.assertIn(rule_type, [x['Type'] for x in cmd_output]) -- cgit v1.2.1 From c1404f14b88c38e3a6fb0a9dc12946241de2fd80 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Wed, 23 Aug 2017 21:15:24 +0000 Subject: Convert remaining network functional tests to JSON Change-Id: Ib7dff5506cc69549b5b1fbb8bf6e649468563dd6 --- .../functional/network/v2/test_network_rbac.py | 85 +++++++++------------- .../network/v2/test_network_service_provider.py | 9 ++- 2 files changed, 39 insertions(+), 55 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/functional/network/v2/test_network_rbac.py b/openstackclient/tests/functional/network/v2/test_network_rbac.py index 2206761f..3bbe4f27 100644 --- a/openstackclient/tests/functional/network/v2/test_network_rbac.py +++ b/openstackclient/tests/functional/network/v2/test_network_rbac.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -22,69 +23,51 @@ class NetworkRBACTests(common.NetworkTests): HEADERS = ['ID'] FIELDS = ['id'] - @classmethod - def setUpClass(cls): - common.NetworkTests.setUpClass() - if cls.haz_network: - cls.NET_NAME = uuid.uuid4().hex - cls.PROJECT_NAME = uuid.uuid4().hex - - opts = cls.get_opts(cls.FIELDS) - raw_output = cls.openstack( - 'network create ' + cls.NET_NAME + opts - ) - cls.OBJECT_ID = raw_output.strip('\n') - opts = cls.get_opts(['id', 'object_id']) - raw_output = cls.openstack( - 'network rbac create ' + - cls.OBJECT_ID + - ' --action access_as_shared' + - ' --target-project admin' + - ' --type network' + opts - ) - cls.ID, object_id, rol = tuple(raw_output.split('\n')) - cls.assertOutput(cls.OBJECT_ID, object_id) - - @classmethod - def tearDownClass(cls): - try: - if cls.haz_network: - raw_output_rbac = cls.openstack( - 'network rbac delete ' + cls.ID - ) - raw_output_network = cls.openstack( - 'network delete ' + cls.OBJECT_ID - ) - cls.assertOutput('', raw_output_rbac) - cls.assertOutput('', raw_output_network) - finally: - super(NetworkRBACTests, cls).tearDownClass() - def setUp(self): super(NetworkRBACTests, self).setUp() # Nothing in this class works with Nova Network if not self.haz_network: self.skipTest("No Network service present") + self.NET_NAME = uuid.uuid4().hex + self.PROJECT_NAME = uuid.uuid4().hex + + cmd_output = json.loads(self.openstack( + 'network create -f json ' + self.NET_NAME + )) + self.addCleanup(self.openstack, + 'network delete ' + cmd_output['id']) + self.OBJECT_ID = cmd_output['id'] + + cmd_output = json.loads(self.openstack( + 'network rbac create -f json ' + + self.OBJECT_ID + + ' --action access_as_shared' + + ' --target-project admin' + + ' --type network' + )) + self.addCleanup(self.openstack, + 'network rbac delete ' + cmd_output['id']) + self.ID = cmd_output['id'] + self.assertEqual(self.OBJECT_ID, cmd_output['object_id']) + def test_network_rbac_list(self): - opts = self.get_opts(self.HEADERS) - raw_output = self.openstack('network rbac list' + opts) - self.assertIn(self.ID, raw_output) + cmd_output = json.loads(self.openstack('network rbac list -f json')) + self.assertIn(self.ID, [rbac['ID'] for rbac in cmd_output]) def test_network_rbac_show(self): - opts = self.get_opts(self.FIELDS) - raw_output = self.openstack('network rbac show ' + self.ID + opts) - self.assertEqual(self.ID + "\n", raw_output) + cmd_output = json.loads(self.openstack( + 'network rbac show -f json ' + self.ID)) + self.assertEqual(self.ID, cmd_output['id']) def test_network_rbac_set(self): - opts = self.get_opts(self.FIELDS) - project_id = self.openstack( - 'project create ' + self.PROJECT_NAME + opts) + project_id = json.loads(self.openstack( + 'project create -f json ' + self.PROJECT_NAME))['id'] self.openstack('network rbac set ' + self.ID + ' --target-project ' + self.PROJECT_NAME) - opts = self.get_opts(['target_project_id']) - raw_output_rbac = self.openstack('network rbac show ' + self.ID + opts) + cmd_output_rbac = json.loads(self.openstack( + 'network rbac show -f json ' + self.ID)) + self.assertEqual(project_id, cmd_output_rbac['target_project_id']) raw_output_project = self.openstack( 'project delete ' + self.PROJECT_NAME) - self.assertEqual(project_id, raw_output_rbac) - self.assertOutput('', raw_output_project) + self.assertEqual('', raw_output_project) diff --git a/openstackclient/tests/functional/network/v2/test_network_service_provider.py b/openstackclient/tests/functional/network/v2/test_network_service_provider.py index 8ed44dd9..999b7eb7 100644 --- a/openstackclient/tests/functional/network/v2/test_network_service_provider.py +++ b/openstackclient/tests/functional/network/v2/test_network_service_provider.py @@ -13,14 +13,14 @@ # License for the specific language governing permissions and limitations # under the License. +import json + from openstackclient.tests.functional.network.v2 import common class TestNetworkServiceProvider(common.NetworkTests): """Functional tests for network service provider""" - SERVICE_TYPE = 'L3_ROUTER_NAT' - def setUp(self): super(TestNetworkServiceProvider, self).setUp() # Nothing in this class works with Nova Network @@ -28,5 +28,6 @@ class TestNetworkServiceProvider(common.NetworkTests): self.skipTest("No Network service present") def test_network_service_provider_list(self): - raw_output = self.openstack('network service provider list') - self.assertIn(self.SERVICE_TYPE, raw_output) + cmd_output = json.loads(self.openstack( + 'network service provider list -f json')) + self.assertIn('L3_ROUTER_NAT', [x['Service Type'] for x in cmd_output]) -- cgit v1.2.1 From ff91e26983578bf1b77e1d68fb1ae26067eed7ea Mon Sep 17 00:00:00 2001 From: lihaijing Date: Wed, 23 Aug 2017 11:23:27 +0800 Subject: Update image cli doc and fix some typos Change-Id: I0a8d095e51a96804c97612e28fac2d00aa94c638 Closes-Bug: #1711284 --- openstackclient/image/v2/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openstackclient') diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py index 30dd9380..a2e45fc7 100644 --- a/openstackclient/image/v2/image.py +++ b/openstackclient/image/v2/image.py @@ -995,7 +995,7 @@ class UnsetImage(command.Command): parser.add_argument( "--property", dest="properties", - metavar="", + metavar="", default=[], action='append', help=_("Unset a property on this image " -- cgit v1.2.1 From 104d6d0e316e74cb8a700dea09aa3566a6d8e069 Mon Sep 17 00:00:00 2001 From: Jens Harbott Date: Tue, 12 Sep 2017 14:21:49 +0000 Subject: Fix output for subnet show The use_default_subnet_pool column is never returned by the API, it is only being used in the request to create a subnet. So make sure that we do not show it when displaying a subnet. Change-Id: Ie021149cceb8f89b779ad0f3c13ac60420509671 Related-Bug: 1668223 --- openstackclient/network/v2/subnet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openstackclient') diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py index c71358a5..2c71e1e0 100644 --- a/openstackclient/network/v2/subnet.py +++ b/openstackclient/network/v2/subnet.py @@ -135,7 +135,7 @@ def _get_columns(item): 'tenant_id': 'project_id', } # Do not show this column when displaying a subnet - invisible_columns = ['use_default_subnetpool'] + invisible_columns = ['use_default_subnet_pool'] return sdk_utils.get_osc_show_columns_for_sdk_resource( item, column_map, -- cgit v1.2.1 From ce468209c4664eb3680abcaddecc103e0a636e72 Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Sat, 9 Sep 2017 08:48:58 -0500 Subject: Skip Volume v1 functional tests if v1 not present Volume v1 is gone in Queens Just skip it for now until DevStack does not create a v1 endpoint Change-Id: I2aa2f78b0d5c8ac2048c922c7835e5c4574028cc --- .../tests/functional/volume/v1/common.py | 27 +++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/functional/volume/v1/common.py b/openstackclient/tests/functional/volume/v1/common.py index 4978cea3..bb3c674e 100644 --- a/openstackclient/tests/functional/volume/v1/common.py +++ b/openstackclient/tests/functional/volume/v1/common.py @@ -12,14 +12,35 @@ import fixtures -from openstackclient.tests.functional.volume import base +from openstackclient.tests.functional import base +from openstackclient.tests.functional.volume import base as volume_base -class BaseVolumeTests(base.BaseVolumeTests): - """Base class for Volume functional tests. """ +class BaseVolumeTests(volume_base.BaseVolumeTests): + """Base class for Volume functional tests""" + + @classmethod + def setUpClass(cls): + super(BaseVolumeTests, cls).setUpClass() + # TODO(dtroyer): This needs to be updated to specifically check for + # Volume v1 rather than just 'volume', but for now + # that is enough until we get proper version negotiation + cls.haz_volume_v1 = base.is_service_enabled('volume') def setUp(self): super(BaseVolumeTests, self).setUp() + + # This class requires Volume v1 + # if not self.haz_volume_v1: + # self.skipTest("No Volume v1 service present") + + # TODO(dtroyer): We really want the above to work but right now + # (12Sep2017) DevStack still creates a 'volume' + # service type even though there is no service behind + # it. Until that is fixed we need to just skip the + # volume v1 functional tests in master. + self.skipTest("No Volume v1 service present") + ver_fixture = fixtures.EnvironmentVariable( 'OS_VOLUME_API_VERSION', '1' ) -- cgit v1.2.1 From 760e91abcf01180651447373e37dc99fafba8f30 Mon Sep 17 00:00:00 2001 From: Gage Hugo Date: Tue, 12 Sep 2017 16:19:49 -0500 Subject: Correct import of keystoneauth1 session keystoneclient.session has been long deprecated in favor of keystoneauth1.session. This change corrects the import in the tests to use the correct library's session. Change-Id: Ic24ebde59e4b9eb70d6f14c1e0536f8d24f0de73 --- openstackclient/tests/unit/api/test_compute_v2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openstackclient') diff --git a/openstackclient/tests/unit/api/test_compute_v2.py b/openstackclient/tests/unit/api/test_compute_v2.py index 56b35937..4f3b8031 100644 --- a/openstackclient/tests/unit/api/test_compute_v2.py +++ b/openstackclient/tests/unit/api/test_compute_v2.py @@ -13,7 +13,7 @@ """Compute v2 API Library Tests""" -from keystoneclient import session +from keystoneauth1 import session from osc_lib import exceptions as osc_lib_exceptions from requests_mock.contrib import fixture -- cgit v1.2.1