From 8c88f12cddb9d17d768b03e582551d5622e3fe5c Mon Sep 17 00:00:00 2001 From: OpenStack Proposal Bot Date: Fri, 4 Jul 2014 06:02:38 +0000 Subject: [PATCH] Imported Translations from Transifex Change-Id: Ida5fa5fc6f311de6952238dab97dceb7694667a2 --- heat/locale/de/LC_MESSAGES/heat-log-info.po | 94 + .../en_AU/LC_MESSAGES/heat-log-error.po | 83 + .../locale/en_AU/LC_MESSAGES/heat-log-info.po | 92 + .../en_GB/LC_MESSAGES/heat-log-error.po | 83 + .../locale/en_GB/LC_MESSAGES/heat-log-info.po | 92 + heat/locale/en_US/LC_MESSAGES/heat.po | 3067 ++++++++-------- heat/locale/es/LC_MESSAGES/heat-log-error.po | 83 + heat/locale/es/LC_MESSAGES/heat-log-info.po | 92 + .../fr/LC_MESSAGES/heat-log-critical.po | 23 + heat/locale/fr/LC_MESSAGES/heat-log-error.po | 83 + heat/locale/fr/LC_MESSAGES/heat-log-info.po | 92 + heat/locale/heat-log-critical.pot | 19 + heat/locale/heat-log-error.pot | 82 + heat/locale/heat-log-info.pot | 91 + heat/locale/heat-log-warning.pot | 64 + heat/locale/heat.pot | 3069 ++++++++--------- heat/locale/ja/LC_MESSAGES/heat-log-error.po | 85 + .../ko_KR/LC_MESSAGES/heat-log-error.po | 83 + .../pt_BR/LC_MESSAGES/heat-log-error.po | 83 + .../locale/pt_BR/LC_MESSAGES/heat-log-info.po | 92 + .../zh_CN/LC_MESSAGES/heat-log-error.po | 83 + 21 files changed, 4358 insertions(+), 3277 deletions(-) create mode 100644 heat/locale/de/LC_MESSAGES/heat-log-info.po create mode 100644 heat/locale/en_AU/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/en_AU/LC_MESSAGES/heat-log-info.po create mode 100644 heat/locale/en_GB/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/en_GB/LC_MESSAGES/heat-log-info.po create mode 100644 heat/locale/es/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/es/LC_MESSAGES/heat-log-info.po create mode 100644 heat/locale/fr/LC_MESSAGES/heat-log-critical.po create mode 100644 heat/locale/fr/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/fr/LC_MESSAGES/heat-log-info.po create mode 100644 heat/locale/heat-log-critical.pot create mode 100644 heat/locale/heat-log-error.pot create mode 100644 heat/locale/heat-log-info.pot create mode 100644 heat/locale/heat-log-warning.pot create mode 100644 heat/locale/ja/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/ko_KR/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/pt_BR/LC_MESSAGES/heat-log-error.po create mode 100644 heat/locale/pt_BR/LC_MESSAGES/heat-log-info.po create mode 100644 heat/locale/zh_CN/LC_MESSAGES/heat-log-error.po diff --git a/heat/locale/de/LC_MESSAGES/heat-log-info.po b/heat/locale/de/LC_MESSAGES/heat-log-info.po new file mode 100644 index 0000000000..75b02ddb71 --- /dev/null +++ b/heat/locale/de/LC_MESSAGES/heat-log-info.po @@ -0,0 +1,94 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +# Carsten Duch , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 20:07+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: German (http://www.transifex.com/projects/p/heat/language/" +"de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "Eventlet backdoor hört auf %(port)s für Prozess %(pid)d" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "Sperrpfad erzeugt: %s" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "Löschen der Datei %(file)s fehlgeschlagen" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "%s abgefangen. Vorgang wird beendet" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" +"Übergeordneter Prozess wurde unerwartet abgebrochen. Vorgang wird beendet" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "Untergeordnetes Element %s abgefangen; Vorgang wird beendet" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "Verzweigung zu schnell; im Ruhemodus" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "Untergeordnetes Element %d gestartet" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "Starten von %d Workers" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "Untergeordnetes Element %(pid)d durch Signal %(sig)d abgebrochen" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "Untergeordnete %(pid)s mit Status %(code)d beendet" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "%s abgefangen, untergeordnete Elemente werden gestoppt" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "Warten aufgerufen nach dem der Thread abgebrochen wurde. Bereinige." + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "Warten auf Beenden von %d untergeordneten Elementen" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "Lösche doppelte Zeile mit der ID %(id)s aus der Tabelle %(table)s" diff --git a/heat/locale/en_AU/LC_MESSAGES/heat-log-error.po b/heat/locale/en_AU/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..22a63cd4dd --- /dev/null +++ b/heat/locale/en_AU/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: English (Australia) (http://www.transifex.com/projects/p/heat/" +"language/en_AU/)\n" +"Language: en_AU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "Original exception being dropped: %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "Unexpected exception occurred %d time(s)... retrying." + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "Could not release the acquired lock `%s`" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "in fixed duration looping call" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "in dynamic looping call" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "Failed to understand rule %s" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "No handler for matches of kind %s" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "Failed to understand rule %r" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "Exception during rpc cleanup." + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "Unhandled exception" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "DB exception wrapped." + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "Failed to migrate to version %(version)s on engine %(engine)s" diff --git a/heat/locale/en_AU/LC_MESSAGES/heat-log-info.po b/heat/locale/en_AU/LC_MESSAGES/heat-log-info.po new file mode 100644 index 0000000000..e0c23d2c68 --- /dev/null +++ b/heat/locale/en_AU/LC_MESSAGES/heat-log-info.po @@ -0,0 +1,92 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: English (Australia) (http://www.transifex.com/projects/p/heat/" +"language/en_AU/)\n" +"Language: en_AU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "Eventlet backdoor listening on %(port)s for process %(pid)d" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "Created lock path: %s" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "Caught %s, exiting" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "Parent process has died unexpectedly, exiting" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "Forking too fast, sleeping" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "Started child %d" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "Starting %d workers" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "Child %(pid)d killed by signal %(sig)d" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "Child %(pid)s exited with status %(code)d" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "Caught %s, stopping children" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "" + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "Waiting on %d children to exit" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "Deleting duplicated row with id: %(id)s from table: %(table)s" diff --git a/heat/locale/en_GB/LC_MESSAGES/heat-log-error.po b/heat/locale/en_GB/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..b9d31862c4 --- /dev/null +++ b/heat/locale/en_GB/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/" +"heat/language/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "Original exception being dropped: %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "Unexpected exception occurred %d time(s)... retrying." + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "Could not release the acquired lock `%s`" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "in fixed duration looping call" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "in dynamic looping call" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "Failed to understand rule %s" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "No handler for matches of kind %s" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "Failed to understand rule %r" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "Exception during rpc cleanup." + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "Unhandled exception" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "DB exception wrapped." + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "" diff --git a/heat/locale/en_GB/LC_MESSAGES/heat-log-info.po b/heat/locale/en_GB/LC_MESSAGES/heat-log-info.po new file mode 100644 index 0000000000..a83fd3c5f1 --- /dev/null +++ b/heat/locale/en_GB/LC_MESSAGES/heat-log-info.po @@ -0,0 +1,92 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/" +"heat/language/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "Eventlet backdoor listening on %(port)s for process %(pid)d" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "Created lock path: %s" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "Caught %s, exiting" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "Parent process has died unexpectedly, exiting" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "Forking too fast, sleeping" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "Started child %d" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "Starting %d workers" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "Child %(pid)d killed by signal %(sig)d" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "Child %(pid)s exited with status %(code)d" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "Caught %s, stopping children" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "" + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "Waiting on %d children to exit" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "Deleting duplicated row with id: %(id)s from table: %(table)s" diff --git a/heat/locale/en_US/LC_MESSAGES/heat.po b/heat/locale/en_US/LC_MESSAGES/heat.po index 7fd2d1e9c6..b3ee119b93 100644 --- a/heat/locale/en_US/LC_MESSAGES/heat.po +++ b/heat/locale/en_US/LC_MESSAGES/heat.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: heat 2013.2.a430.gd264018\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-04-22 06:08+0000\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: en_US \n" @@ -18,146 +18,136 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: heat/api/aws/ec2token.py:37 +#: heat/api/aws/ec2token.py:36 msgid "Authentication Endpoint URI." msgstr "" -#: heat/api/aws/ec2token.py:40 heat/common/config.py:150 +#: heat/api/aws/ec2token.py:39 heat/common/config.py:147 msgid "Allow orchestration of multiple clouds." msgstr "" -#: heat/api/aws/ec2token.py:43 heat/common/config.py:153 +#: heat/api/aws/ec2token.py:42 heat/common/config.py:150 msgid "" "Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At " "least one endpoint needs to be specified." msgstr "" -#: heat/api/aws/ec2token.py:128 -#, python-format -msgid "Attempt authorize on %s" -msgstr "" - -#: heat/api/aws/ec2token.py:131 -#, python-format -msgid "Authorize failed: %s" -msgstr "" - -#: heat/api/aws/ec2token.py:141 +#: heat/api/aws/ec2token.py:142 msgid "Checking AWS credentials.." msgstr "" -#: heat/api/aws/ec2token.py:148 +#: heat/api/aws/ec2token.py:149 msgid "No AWS Signature found." msgstr "" -#: heat/api/aws/ec2token.py:156 +#: heat/api/aws/ec2token.py:157 msgid "No AWSAccessKeyId/Authorization Credential" msgstr "" -#: heat/api/aws/ec2token.py:159 +#: heat/api/aws/ec2token.py:160 msgid "AWS credentials found, checking against keystone." msgstr "" -#: heat/api/aws/ec2token.py:162 +#: heat/api/aws/ec2token.py:163 msgid "Ec2Token authorization failed, no auth_uri specified in config file" msgstr "" -#: heat/api/aws/ec2token.py:164 +#: heat/api/aws/ec2token.py:165 msgid "Service misconfigured" msgstr "" -#: heat/api/aws/ec2token.py:187 +#: heat/api/aws/ec2token.py:188 #, python-format msgid "Authenticating with %s" msgstr "" -#: heat/api/aws/ec2token.py:195 +#: heat/api/aws/ec2token.py:196 msgid "AWS authentication successful." msgstr "" -#: heat/api/aws/ec2token.py:197 +#: heat/api/aws/ec2token.py:198 msgid "AWS authentication failure." msgstr "" -#: heat/api/aws/exception.py:36 +#: heat/api/aws/exception.py:35 msgid "Generic HeatAPIException, please use specific subclasses!" msgstr "" -#: heat/api/aws/exception.py:75 +#: heat/api/aws/exception.py:74 msgid "The request signature does not conform to AWS standards" msgstr "" -#: heat/api/aws/exception.py:84 +#: heat/api/aws/exception.py:83 msgid "The request processing has failed due to an internal error" msgstr "" -#: heat/api/aws/exception.py:95 +#: heat/api/aws/exception.py:94 msgid "The action or operation requested is invalid" msgstr "" -#: heat/api/aws/exception.py:104 +#: heat/api/aws/exception.py:103 msgid "The certificate or AWS Key ID provided does not exist" msgstr "" -#: heat/api/aws/exception.py:113 +#: heat/api/aws/exception.py:112 msgid "Incompatible parameters were used together" msgstr "" -#: heat/api/aws/exception.py:122 +#: heat/api/aws/exception.py:121 msgid "A bad or out-of-range value was supplied" msgstr "" -#: heat/api/aws/exception.py:131 +#: heat/api/aws/exception.py:130 msgid "AWS query string is malformed, does not adhere to AWS spec" msgstr "" -#: heat/api/aws/exception.py:141 +#: heat/api/aws/exception.py:140 msgid "The query string is malformed" msgstr "" -#: heat/api/aws/exception.py:150 +#: heat/api/aws/exception.py:149 msgid "The request is missing an action or operation parameter" msgstr "" -#: heat/api/aws/exception.py:160 +#: heat/api/aws/exception.py:159 msgid "Does not contain a valid AWS Access Key or certificate" msgstr "" -#: heat/api/aws/exception.py:169 +#: heat/api/aws/exception.py:168 msgid "A mandatory input parameter is missing" msgstr "" -#: heat/api/aws/exception.py:178 +#: heat/api/aws/exception.py:177 msgid "The AWS Access Key ID needs a subscription for the service" msgstr "" -#: heat/api/aws/exception.py:189 +#: heat/api/aws/exception.py:188 msgid "Request expired or more than 15mins in the future" msgstr "" -#: heat/api/aws/exception.py:198 +#: heat/api/aws/exception.py:197 msgid "Service temporarily unavailable" msgstr "" -#: heat/api/aws/exception.py:208 +#: heat/api/aws/exception.py:207 msgid "Request was denied due to request throttling" msgstr "" -#: heat/api/aws/exception.py:217 +#: heat/api/aws/exception.py:216 msgid "Resource with the name requested already exists" msgstr "" -#: heat/api/aws/exception.py:228 +#: heat/api/aws/exception.py:227 msgid "User is not authorized to perform action" msgstr "" -#: heat/api/aws/exception.py:238 +#: heat/api/aws/exception.py:237 msgid "" "The request signature we calculated does not match the signature you " "provided" msgstr "" -#: heat/api/aws/exception.py:249 +#: heat/api/aws/exception.py:248 msgid "The requested action is not yet implemented" msgstr "" @@ -166,12 +156,12 @@ msgstr "" msgid "Request does not contain %s parameter!" msgstr "" -#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48 +#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:49 #, python-format msgid "Action %s not allowed for user" msgstr "" -#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55 +#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:56 #, python-format msgid "Error authorizing action %s" msgstr "" @@ -206,64 +196,24 @@ msgstr "" msgid "stack not not found" msgstr "" -#: heat/api/cloudwatch/watch.py:214 +#: heat/api/cfn/v1/stacks.py:424 heat/engine/service.py:638 +msgid "validate_template" +msgstr "" + +#: heat/api/cloudwatch/watch.py:216 #, python-format msgid "Invalid filter key %s, ignoring" msgstr "" -#: heat/api/cloudwatch/watch.py:223 -#, python-format -msgid "filter parameters : %s" -msgstr "" - -#: heat/api/cloudwatch/watch.py:269 +#: heat/api/cloudwatch/watch.py:271 msgid "Request does not contain required MetricData" msgstr "" -#: heat/api/cloudwatch/watch.py:320 +#: heat/api/cloudwatch/watch.py:322 #, python-format msgid "Invalid state %(state)s, expecting one of %(expect)s" msgstr "" -#: heat/api/cloudwatch/watch.py:327 -#, python-format -msgid "setting %(name)s to %(state)s" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:49 -#, python-format -msgid "Processing request: %(method)s %(path)s Accept: %(accept)s" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:64 -#, python-format -msgid "Matched versioned URI. Version: %(major_version)d.%(minor_version)d" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:72 -#, python-format -msgid "" -"Unknown version in versioned URI: %(major_version)d.%(minor_version)d. " -"Returning version choices." -msgstr "" - -#: heat/api/middleware/version_negotiation.py:88 -#, python-format -msgid "Matched versioned media type. Version: %(major_version)d.%(minor_version)d" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:94 -#, python-format -msgid "" -"Unknown version in accept header: " -"%(major_version)d.%(minor_version)d...returning version choices." -msgstr "" - -#: heat/api/middleware/version_negotiation.py:102 -#, python-format -msgid "Unknown accept header: %s...returning HTTP not found." -msgstr "" - #: heat/api/openstack/v1/actions.py:44 msgid "No action specified" msgstr "" @@ -292,30 +242,30 @@ msgstr "" msgid "No event %s found" msgstr "" -#: heat/api/openstack/v1/stacks.py:74 +#: heat/api/openstack/v1/stacks.py:75 #, python-format msgid "%(type)s not in valid format: %(error)s" msgstr "" -#: heat/api/openstack/v1/stacks.py:82 +#: heat/api/openstack/v1/stacks.py:83 msgid "No stack name specified" msgstr "" -#: heat/api/openstack/v1/stacks.py:100 +#: heat/api/openstack/v1/stacks.py:101 #, python-format msgid "Could not retrieve template: %s" msgstr "" -#: heat/api/openstack/v1/stacks.py:103 +#: heat/api/openstack/v1/stacks.py:104 msgid "No template specified" msgstr "" -#: heat/api/openstack/v1/stacks.py:185 +#: heat/api/openstack/v1/stacks.py:191 #, python-format msgid "Old Engine Version: %s" msgstr "" -#: heat/api/openstack/v1/util.py:61 +#: heat/api/openstack/v1/util.py:62 msgid "Invalid Stack address" msgstr "" @@ -336,48 +286,48 @@ msgstr "" msgid "Header X-Auth-Url \"%s\" not an allowed endpoint" msgstr "" -#: heat/common/config.py:34 +#: heat/common/config.py:29 msgid "The flavor to use." msgstr "" -#: heat/common/config.py:36 +#: heat/common/config.py:31 msgid "The API paste config file to use." msgstr "" -#: heat/common/config.py:100 +#: heat/common/config.py:97 msgid "Select deferred auth method, stored password or trusts." msgstr "" -#: heat/common/config.py:104 +#: heat/common/config.py:101 msgid "Subset of trustor roles to be delegated to heat." msgstr "" -#: heat/common/config.py:110 +#: heat/common/config.py:107 msgid "Maximum number of stacks any one tenant may have active at one time." msgstr "" -#: heat/common/config.py:114 +#: heat/common/config.py:111 msgid "" "Controls how many events will be pruned whenever a stack's events exceed" " max_events_per_stack. Set this lower to keep more events at the expense " "of more frequent purges." msgstr "" -#: heat/common/config.py:120 +#: heat/common/config.py:117 msgid "" "Maximum events that will be available per stack. Older events will be " "deleted when this is reached. Set to 0 for unlimited events per stack." msgstr "" -#: heat/common/config.py:125 +#: heat/common/config.py:122 msgid "Timeout in seconds for stack action (ie. create or update)." msgstr "" -#: heat/common/config.py:129 +#: heat/common/config.py:126 msgid "RPC timeout for the engine liveness check that is used for stack locking." msgstr "" -#: heat/common/config.py:132 +#: heat/common/config.py:129 msgid "" "onready allows you to send a notification when the heat processes are " "ready to serve. This is either a module with the notify() method or a " @@ -386,70 +336,64 @@ msgid "" "notification module." msgstr "" -#: heat/common/config.py:159 +#: heat/common/config.py:156 msgid "" "Type of endpoint in Identity service catalog to use for communication " "with the OpenStack service." msgstr "" -#: heat/common/config.py:163 +#: heat/common/config.py:160 msgid "Optional CA cert file to use in SSL connections." msgstr "" -#: heat/common/config.py:165 +#: heat/common/config.py:162 msgid "Optional PEM-formatted certificate chain file." msgstr "" -#: heat/common/config.py:167 +#: heat/common/config.py:164 msgid "Optional PEM-formatted file that contains the private key." msgstr "" -#: heat/common/config.py:171 +#: heat/common/config.py:168 msgid "If set, then the server's certificate will not be verified." msgstr "" -#: heat/common/config.py:186 +#: heat/common/config.py:173 #, python-format msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s." msgstr "" -#: heat/common/config.py:196 +#: heat/common/config.py:179 +msgid "Allow client's debug log output." +msgstr "" + +#: heat/common/config.py:185 msgid "" "Heat build revision. If you would prefer to manage your build revision " "separately, you can move this section to a different file and add it as " "another config option." msgstr "" -#: heat/common/config.py:225 -msgid "" -"The \"instance_user\" option in heat.conf is deprecated and will be " -"removed in the Juno release." -msgstr "" - -#: heat/common/config.py:272 +#: heat/common/config.py:260 msgid "Unable to locate config file" msgstr "" -#: heat/common/config.py:284 +#: heat/common/config.py:272 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" "Got: %(e)r" msgstr "" -#: heat/common/custom_backend_auth.py:45 -msgid "Authenticating user token" -msgstr "" - #: heat/common/custom_backend_auth.py:61 msgid "Backend authentication failed" msgstr "" -#: heat/common/environment_format.py:38 +#: heat/common/environment_format.py:36 msgid "The environment is not a valid YAML mapping data type." msgstr "" -#: heat/common/environment_format.py:42 +#: heat/common/environment_format.py:40 #, python-format msgid "environment has wrong section \"%s\"" msgstr "" @@ -682,122 +626,123 @@ msgstr "" msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)" msgstr "" -#: heat/common/heat_keystoneclient.py:93 +#: heat/common/heat_keystoneclient.py:96 msgid "" "heat.conf misconfigured, cannot specify stack_user_domain without " "stack_domain_admin and stack_domain_admin_password" msgstr "" -#: heat/common/heat_keystoneclient.py:98 +#: heat/common/heat_keystoneclient.py:101 msgid "stack_user_domain ID not set in heat.conf falling back to using default" msgstr "" -#: heat/common/heat_keystoneclient.py:100 -#, python-format -msgid "Using stack domain %s" +#: heat/common/heat_keystoneclient.py:122 +msgid "Admin client authentication failed" msgstr "" -#: heat/common/heat_keystoneclient.py:160 +#: heat/common/heat_keystoneclient.py:138 +msgid "Domain admin client authentication failed" +msgstr "" + +#: heat/common/heat_keystoneclient.py:163 msgid "Keystone v3 API connection failed, no password trust or auth_token!" msgstr "" -#: heat/common/heat_keystoneclient.py:171 +#: heat/common/heat_keystoneclient.py:174 msgid "trust token re-scoping failed!" msgstr "" -#: heat/common/heat_keystoneclient.py:261 +#: heat/common/heat_keystoneclient.py:178 +msgid "Trust impersonation failed" +msgstr "" + +#: heat/common/heat_keystoneclient.py:260 #, python-format msgid "Truncating the username %s to the last 64 characters." msgstr "" -#: heat/common/heat_keystoneclient.py:295 -#: heat/common/heat_keystoneclient.py:336 -#, python-format -msgid "Adding user %(user)s to role %(role)s" -msgstr "" - -#: heat/common/heat_keystoneclient.py:300 -#: heat/common/heat_keystoneclient.py:341 +#: heat/common/heat_keystoneclient.py:292 +#: heat/common/heat_keystoneclient.py:335 #, python-format msgid "Failed to add user %(user)s to role %(role)s, check role exists!" msgstr "" -#: heat/common/heat_keystoneclient.py:304 -#: heat/common/heat_keystoneclient.py:344 +#: heat/common/heat_keystoneclient.py:296 +#: heat/common/heat_keystoneclient.py:339 #, python-format msgid "Can't find role %s" msgstr "" -#: heat/common/heat_keystoneclient.py:320 +#: heat/common/heat_keystoneclient.py:314 msgid "" "Falling back to legacy non-domain user create, configure domain in " "heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:353 +#: heat/common/heat_keystoneclient.py:348 #, python-format msgid "User %s in invalid domain" msgstr "" -#: heat/common/heat_keystoneclient.py:355 +#: heat/common/heat_keystoneclient.py:350 #, python-format msgid "User %s in invalid project" msgstr "" -#: heat/common/heat_keystoneclient.py:361 +#: heat/common/heat_keystoneclient.py:356 msgid "" "Falling back to legacy non-domain user delete, configure domain in " "heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:375 -#: heat/common/heat_keystoneclient.py:392 +#: heat/common/heat_keystoneclient.py:377 +#: heat/common/heat_keystoneclient.py:394 msgid "Falling back to legacy non-domain project, configure domain in heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:459 -#: heat/common/heat_keystoneclient.py:476 +#: heat/common/heat_keystoneclient.py:468 +#: heat/common/heat_keystoneclient.py:485 msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:495 +#: heat/common/heat_keystoneclient.py:504 msgid "Falling back to legacy non-domain disable, configure domain in heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:505 +#: heat/common/heat_keystoneclient.py:514 msgid "Falling back to legacy non-domain enable, configure domain in heat.conf" msgstr "" -#: heat/common/identifier.py:41 +#: heat/common/identifier.py:42 msgid "Stack name may not contain \"/\"" msgstr "" -#: heat/common/identifier.py:57 +#: heat/common/identifier.py:56 #, python-format msgid "\"%s\" is not a valid ARN" msgstr "" -#: heat/common/identifier.py:63 +#: heat/common/identifier.py:62 #, python-format msgid "\"%s\" is not a valid Heat ARN" msgstr "" -#: heat/common/identifier.py:80 +#: heat/common/identifier.py:79 #, python-format msgid "\"%s\" is not a valid URL" msgstr "" -#: heat/common/identifier.py:86 +#: heat/common/identifier.py:85 #, python-format msgid "\"%s\" is not a valid ARN URL" msgstr "" -#: heat/common/identifier.py:142 heat/common/identifier.py:149 +#: heat/common/identifier.py:138 heat/common/identifier.py:145 #, python-format msgid "Unknown attribute \"%s\"" msgstr "" -#: heat/common/identifier.py:180 heat/engine/resource.py:141 +#: heat/common/identifier.py:178 heat/engine/resource.py:141 msgid "Resource name may not contain \"/\"" msgstr "" @@ -806,7 +751,12 @@ msgstr "" msgid "Failed to execute onready command: %s" msgstr "" -#: heat/common/plugin_loader.py:92 +#: heat/common/param_utils.py:24 +#, python-format +msgid "Unrecognized value \"%(value)s, acceptable values are: true, false." +msgstr "" + +#: heat/common/plugin_loader.py:97 #, python-format msgid "Failed to import module %s" msgstr "" @@ -837,17 +787,17 @@ msgstr "" msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported." msgstr "" -#: heat/common/urlfetch.py:46 +#: heat/common/urlfetch.py:43 #, python-format msgid "Fetching data from %s" msgstr "" -#: heat/common/urlfetch.py:51 +#: heat/common/urlfetch.py:48 #, python-format msgid "Invalid URL scheme %s" msgstr "" -#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81 +#: heat/common/urlfetch.py:54 heat/common/urlfetch.py:78 #, python-format msgid "Failed to retrieve template: %s" msgstr "" @@ -892,160 +842,161 @@ msgid "" "by the Keystone v3 API with big service catalogs.)" msgstr "" -#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59 +#: heat/common/wsgi.py:212 heat/openstack/common/sslutils.py:56 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: heat/common/wsgi.py:223 +#: heat/common/wsgi.py:230 #, python-format msgid "Could not bind to %(bind_addr)safter trying for 30 seconds" msgstr "" -#: heat/common/wsgi.py:255 +#: heat/common/wsgi.py:262 msgid "SIGTERM received" msgstr "" -#: heat/common/wsgi.py:264 +#: heat/common/wsgi.py:271 msgid "SIGHUP received" msgstr "" -#: heat/common/wsgi.py:280 +#: heat/common/wsgi.py:287 #, python-format msgid "Starting %d workers" msgstr "" -#: heat/common/wsgi.py:291 +#: heat/common/wsgi.py:298 #, python-format msgid "Removing dead child %s" msgstr "" -#: heat/common/wsgi.py:298 +#: heat/common/wsgi.py:305 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: heat/common/wsgi.py:302 -msgid "Exited" -msgstr "" - -#: heat/common/wsgi.py:320 +#: heat/common/wsgi.py:327 #, python-format msgid "Child %d exiting normally" msgstr "" -#: heat/common/wsgi.py:323 +#: heat/common/wsgi.py:330 #, python-format msgid "Started child %s" msgstr "" -#: heat/common/wsgi.py:346 +#: heat/common/wsgi.py:353 msgid "Starting single process server" msgstr "" -#: heat/common/wsgi.py:553 +#: heat/common/wsgi.py:560 #, python-format msgid "" "JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s " "bytes)." msgstr "" -#: heat/common/wsgi.py:620 +#: heat/common/wsgi.py:627 #, python-format msgid "Exception handling resource: %s" msgstr "" -#: heat/common/wsgi.py:621 +#: heat/common/wsgi.py:628 msgid "" "The server could not comply with the request since\r\n" "it is either malformed or otherwise incorrect.\r\n" msgstr "" -#: heat/common/wsgi.py:642 +#: heat/common/wsgi.py:649 #, python-format msgid "Returning %(code)s to user: %(explanation)s" msgstr "" -#: heat/common/wsgi.py:681 +#: heat/common/wsgi.py:688 msgid "Unable to serialize exception response" msgstr "" -#: heat/common/wsgi.py:716 +#: heat/common/wsgi.py:723 #, python-format msgid "Unexpected error occurred serving API: %s" msgstr "" -#: heat/db/sqlalchemy/api.py:89 +#: heat/db/sqlalchemy/api.py:90 #, python-format msgid "raw template with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:106 +#: heat/db/sqlalchemy/api.py:114 #, python-format msgid "resource with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:136 +#: heat/db/sqlalchemy/api.py:146 msgid "no resources were found" msgstr "" -#: heat/db/sqlalchemy/api.py:150 +#: heat/db/sqlalchemy/api.py:161 msgid "no resource data found" msgstr "" -#: heat/db/sqlalchemy/api.py:200 +#: heat/db/sqlalchemy/api.py:211 msgid "No resource data found" msgstr "" -#: heat/db/sqlalchemy/api.py:253 +#: heat/db/sqlalchemy/api.py:265 #, python-format msgid "no resources for stack_id %s were found" msgstr "" -#: heat/db/sqlalchemy/api.py:394 +#: heat/db/sqlalchemy/api.py:413 #, python-format msgid "Attempt to update a stack with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:406 +#: heat/db/sqlalchemy/api.py:425 #, python-format msgid "Attempt to delete a stack with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:489 +#: heat/db/sqlalchemy/api.py:508 #, python-format msgid "Attempt to delete user creds with id %(id)s that does not exist" msgstr "" -#: heat/db/sqlalchemy/api.py:604 +#: heat/db/sqlalchemy/api.py:617 #, python-format msgid "Attempt to update a watch with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:616 +#: heat/db/sqlalchemy/api.py:629 #, python-format msgid "Attempt to delete watch_rule: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:655 +#: heat/db/sqlalchemy/api.py:668 #, python-format msgid "Software config with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:682 +#: heat/db/sqlalchemy/api.py:695 #, python-format msgid "Deployment with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:718 +#: heat/db/sqlalchemy/api.py:741 +#, python-format +msgid "Snapshot with id %s not found" +msgstr "" + +#: heat/db/sqlalchemy/api.py:764 msgid "age should be an integer" msgstr "" -#: heat/db/sqlalchemy/api.py:720 +#: heat/db/sqlalchemy/api.py:766 msgid "age should be a positive integer" msgstr "" -#: heat/db/sqlalchemy/api.py:724 +#: heat/db/sqlalchemy/api.py:770 msgid "granularity should be days, hours, minutes, or seconds" msgstr "" @@ -1057,173 +1008,164 @@ msgstr "" #: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:58 #: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:70 -#: heat/db/sqlalchemy/migrate_repo/versions/043_migrate_template_versions.py:57 +#: heat/db/sqlalchemy/migrate_repo/versions/043_migrate_template_versions.py:58 msgid "" "This version cannot be downgraded because it involves a data migration to" " the raw_template table." msgstr "" -#: heat/engine/api.py:36 +#: heat/engine/api.py:37 msgid "Timeout conversion failed" msgstr "" -#: heat/engine/api.py:41 +#: heat/engine/api.py:42 #, python-format msgid "Invalid timeout value %s" msgstr "" -#: heat/engine/api.py:50 -#, python-format -msgid "Unexpected value for parameter %(name)s : %(value)s" -msgstr "" - -#: heat/engine/api.py:60 +#: heat/engine/api.py:58 #, python-format msgid "Unexpected adopt data \"%s\". Adopt data must be a dict." msgstr "" -#: heat/engine/api.py:236 +#: heat/engine/api.py:242 msgid "Unexpected number of keys in watch_data.data!" msgstr "" -#: heat/engine/attributes.py:83 +#: heat/engine/attributes.py:148 #, python-format msgid "%(resource)s: Invalid attribute %(key)s" msgstr "" -#: heat/engine/clients.py:31 -msgid "swiftclient not available" -msgstr "" - -#: heat/engine/clients.py:36 -msgid "neutronclient not available" -msgstr "" - -#: heat/engine/clients.py:41 -msgid "cinderclient not available" -msgstr "" - -#: heat/engine/clients.py:47 -msgid "troveclient not available" -msgstr "" - -#: heat/engine/clients.py:53 -msgid "ceilometerclient not available" -msgstr "" - -#: heat/engine/clients.py:159 -msgid "Neutron connection failed, no auth_token!" -msgstr "" - -#: heat/engine/constraints.py:87 +#: heat/engine/constraints.py:88 #, python-format msgid "Invalid type (%s)" msgstr "" -#: heat/engine/constraints.py:94 +#: heat/engine/constraints.py:95 #, python-format msgid "Single schema valid only for %(ltype)s, not %(utype)s" msgstr "" -#: heat/engine/constraints.py:104 +#: heat/engine/constraints.py:105 #, python-format msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s" msgstr "" -#: heat/engine/constraints.py:113 +#: heat/engine/constraints.py:123 #, python-format msgid "%(name)s constraint invalid for %(utype)s" msgstr "" -#: heat/engine/constraints.py:127 heat/engine/parameters.py:85 +#: heat/engine/constraints.py:143 heat/engine/parameters.py:85 #, python-format msgid "Invalid default %(default)s (%(exc)s)" msgstr "" -#: heat/engine/constraints.py:206 +#: heat/engine/constraints.py:175 +#, python-format +msgid "%s is not an integer." +msgstr "" + +#: heat/engine/constraints.py:186 +#, python-format +msgid "Value \"%(val)s\" is invalid for data type \"%(type)s\"." +msgstr "" + +#: heat/engine/constraints.py:249 #, python-format msgid "Invalid key %s" msgstr "" -#: heat/engine/constraints.py:295 +#: heat/engine/constraints.py:338 msgid "min/max must be numeric" msgstr "" -#: heat/engine/constraints.py:299 +#: heat/engine/constraints.py:342 msgid "A range constraint must have a min value and/or a max value specified." msgstr "" -#: heat/engine/constraints.py:304 +#: heat/engine/constraints.py:347 #, python-format msgid "The value must be at least %(min)s." msgstr "" -#: heat/engine/constraints.py:306 +#: heat/engine/constraints.py:349 #, python-format msgid "The value must be no greater than %(max)s." msgstr "" -#: heat/engine/constraints.py:308 +#: heat/engine/constraints.py:351 #, python-format msgid "The value must be in the range %(min)s to %(max)s." msgstr "" -#: heat/engine/constraints.py:356 +#: heat/engine/constraints.py:399 msgid "A length constraint must have a min value and/or a max value specified." msgstr "" -#: heat/engine/constraints.py:363 +#: heat/engine/constraints.py:406 msgid "min/max length must be integral" msgstr "" -#: heat/engine/constraints.py:368 +#: heat/engine/constraints.py:411 #, python-format msgid "The length must be at least %(min)s." msgstr "" -#: heat/engine/constraints.py:370 +#: heat/engine/constraints.py:413 #, python-format msgid "The length must be no greater than %(max)s." msgstr "" -#: heat/engine/constraints.py:372 +#: heat/engine/constraints.py:415 #, python-format msgid "The length must be in the range %(min)s to %(max)s." msgstr "" -#: heat/engine/constraints.py:403 +#: heat/engine/constraints.py:446 msgid "AllowedValues must be a list" msgstr "" -#: heat/engine/constraints.py:408 +#: heat/engine/constraints.py:451 #, python-format msgid "Allowed values: %s" msgstr "" -#: heat/engine/constraints.py:443 +#: heat/engine/constraints.py:490 msgid "AllowedPattern must be a string" msgstr "" -#: heat/engine/constraints.py:448 +#: heat/engine/constraints.py:495 #, python-format msgid "Value must match pattern: %s" msgstr "" -#: heat/engine/constraints.py:490 +#: heat/engine/constraints.py:537 #, python-format msgid "Value must be of type %s" msgstr "" -#: heat/engine/constraints.py:496 +#: heat/engine/constraints.py:543 #, python-format msgid "\"%(value)s\" does not validate %(name)s (constraint not found)" msgstr "" -#: heat/engine/constraints.py:503 +#: heat/engine/constraints.py:550 #, python-format msgid "\"%(value)s\" does not validate %(name)s" msgstr "" +#: heat/engine/constraints.py:573 +#, python-format +msgid "Error validating value %(value)r" +msgstr "" + +#: heat/engine/constraints.py:574 +#, python-format +msgid "Error validating value %(value)r: %(message)s" +msgstr "" + #: heat/engine/dependencies.py:24 #, python-format msgid "Circular Dependency Found: %(cycle)s" @@ -1244,42 +1186,42 @@ msgstr "" msgid "Registering %(path)s -> %(value)s" msgstr "" -#: heat/engine/environment.py:284 heat/tests/test_resource.py:85 +#: heat/engine/environment.py:288 heat/tests/test_resource.py:96 #, python-format msgid "Resource \"%s\" has no type" msgstr "" -#: heat/engine/environment.py:287 heat/tests/test_resource.py:102 +#: heat/engine/environment.py:291 #, python-format msgid "Non-empty resource type is required for resource \"%s\"" msgstr "" -#: heat/engine/environment.py:291 heat/tests/test_resource.py:93 +#: heat/engine/environment.py:295 #, python-format msgid "Resource \"%s\" type is not a string" msgstr "" -#: heat/engine/environment.py:297 +#: heat/engine/environment.py:302 #, python-format msgid "Unknown resource Type : %s" msgstr "" -#: heat/engine/environment.py:400 +#: heat/engine/environment.py:405 #, python-format msgid "Failed to read %s" msgstr "" -#: heat/engine/environment.py:407 +#: heat/engine/environment.py:412 #, python-format msgid "Loading %s" msgstr "" -#: heat/engine/environment.py:412 +#: heat/engine/environment.py:417 #, python-format msgid "Failed to parse %(file_path)s" msgstr "" -#: heat/engine/environment.py:416 +#: heat/engine/environment.py:421 #, python-format msgid "Failed to read %(file_path)s" msgstr "" @@ -1293,11 +1235,7 @@ msgstr "" msgid "Duplicating event" msgstr "" -#: heat/engine/parameter_groups.py:43 -msgid "Validating Parameter Groups." -msgstr "" - -#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398 +#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1357 msgid "Parameters must be provided for each Parameter Group." msgstr "" @@ -1331,108 +1269,117 @@ msgstr "" msgid "Missing parameter type for parameter: %s" msgstr "" -#: heat/engine/parameters.py:194 +#: heat/engine/parameters.py:196 #, python-format msgid "Invalid Parameter type \"%s\"" msgstr "" -#: heat/engine/parameters.py:223 +#: heat/engine/parameters.py:230 #, python-format -msgid "Missing parameter %s" -msgstr "" - -#: heat/engine/parameters.py:302 -#, python-format -msgid "Value must be a comma-delimited list string: %s" +msgid "Parameter '%(name)s' is invalid: %(exp)s" msgstr "" #: heat/engine/parameters.py:338 #, python-format +msgid "Value must be a comma-delimited list string: %s" +msgstr "" + +#: heat/engine/parameters.py:373 +#, python-format msgid "Value must be valid JSON: %s" msgstr "" -#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138 +#: heat/engine/parameters.py:500 heat/engine/hot/parameters.py:135 msgid "Stack ID" msgstr "" -#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143 +#: heat/engine/parameters.py:504 heat/engine/hot/parameters.py:140 msgid "Stack Name" msgstr "" -#: heat/engine/parser.py:70 +#: heat/engine/parser.py:73 #, python-format msgid "" "Invalid stack name %s must contain only alphanumeric or \"_-.\" " "characters, must start with alpha" msgstr "" -#: heat/engine/parser.py:163 +#: heat/engine/parser.py:134 +msgid "Attempt to use stored_context with no user_creds" +msgstr "" + +#: heat/engine/parser.py:199 msgid "Unable to set parameters StackId identifier" msgstr "" -#: heat/engine/parser.py:182 +#: heat/engine/parser.py:219 #, python-format msgid "No stack exists with id \"%s\"" msgstr "" -#: heat/engine/parser.py:347 heat/engine/parser.py:348 +#: heat/engine/parser.py:413 #, python-format msgid "Duplicate names %s" msgstr "" -#: heat/engine/parser.py:383 heat/engine/resource.py:807 +#: heat/engine/parser.py:448 heat/engine/resource.py:807 #, python-format msgid "Invalid action %s" msgstr "" -#: heat/engine/parser.py:386 heat/engine/resource.py:810 +#: heat/engine/parser.py:451 heat/engine/resource.py:810 #, python-format msgid "Invalid status %s" msgstr "" -#: heat/engine/parser.py:495 -msgid "Loaded existing backup stack" +#: heat/engine/parser.py:465 +#, python-format +msgid "Stack %(action)s %(status)s (%(name)s): %(reason)s" msgstr "" -#: heat/engine/parser.py:503 -msgid "Created new backup stack" -msgstr "" - -#: heat/engine/parser.py:543 +#: heat/engine/parser.py:611 #, python-format msgid "Unexpected action %s passed to update!" msgstr "" -#: heat/engine/parser.py:552 -#, python-format -msgid "Starting update rollback for %s" -msgstr "" - -#: heat/engine/parser.py:603 -msgid "Deleting backup stack" -msgstr "" - -#: heat/engine/parser.py:632 +#: heat/engine/parser.py:698 #, python-format msgid "Unexpected action %s passed to delete!" msgstr "" -#: heat/engine/parser.py:712 +#: heat/engine/parser.py:785 +#, python-format +msgid "" +"Tried to delete user_creds that do not exist (stack=%(stack)s " +"user_creds_id=%(uc)s)" +msgstr "" + +#: heat/engine/parser.py:793 +#, python-format +msgid "Tried to store a stack that does not exist %s " +msgstr "" + +#: heat/engine/parser.py:810 heat/engine/parser.py:818 +#, python-format +msgid "Tried to delete stack that does not exist %s " +msgstr "" + +#: heat/engine/parser.py:833 #, python-format msgid "%s is already suspended" msgstr "" -#: heat/engine/parser.py:731 +#: heat/engine/parser.py:852 #, python-format msgid "%s is already resumed" msgstr "" -#: heat/engine/parser.py:762 +#: heat/engine/parser.py:884 #, python-format msgid "delete: %s" msgstr "" -#: heat/engine/parser.py:770 +#: heat/engine/parser.py:892 msgid "create" msgstr "" @@ -1446,141 +1393,147 @@ msgstr "" msgid "Invalid type for %(mapping_name)s from %(module)s" msgstr "" -#: heat/engine/properties.py:75 +#: heat/engine/properties.py:77 #, python-format msgid "Unknown key(s) %s" msgstr "" -#: heat/engine/properties.py:96 +#: heat/engine/properties.py:98 #, python-format msgid "No %s specified" msgstr "" -#: heat/engine/properties.py:105 +#: heat/engine/properties.py:107 #, python-format msgid "%(schema)s supplied for %(type)s %(data)s" msgstr "" -#: heat/engine/properties.py:200 +#: heat/engine/properties.py:203 #, python-format msgid "Value '%s' is not an integer" msgstr "" -#: heat/engine/properties.py:213 +#: heat/engine/properties.py:216 msgid "Value must be a string" msgstr "" -#: heat/engine/properties.py:233 +#: heat/engine/properties.py:238 #, python-format msgid "\"%s\" is not a map" msgstr "" -#: heat/engine/properties.py:242 +#: heat/engine/properties.py:247 #, python-format msgid "\"%s\" is not a list" msgstr "" -#: heat/engine/properties.py:254 +#: heat/engine/properties.py:260 #, python-format msgid "\"%s\" is not a valid boolean" msgstr "" -#: heat/engine/properties.py:313 +#: heat/engine/properties.py:321 #, python-format msgid "Property error : %s" msgstr "" -#: heat/engine/properties.py:318 +#: heat/engine/properties.py:326 #, python-format msgid "Property %s not implemented yet" msgstr "" -#: heat/engine/properties.py:323 +#: heat/engine/properties.py:331 #, python-format msgid "Unknown Property %s" msgstr "" -#: heat/engine/properties.py:328 +#: heat/engine/properties.py:336 #, python-format msgid "%(prefix)sInvalid Property %(key)s" msgstr "" -#: heat/engine/properties.py:345 +#: heat/engine/properties.py:353 #, python-format msgid "%(prefix)sProperty %(key)s not assigned" msgstr "" -#: heat/engine/resource.py:60 +#: heat/engine/resource.py:59 #, python-format msgid "The Resource %s requires replacement." msgstr "" -#: heat/engine/resource.py:422 +#: heat/engine/resource.py:420 msgid "Error marking resource as failed" msgstr "" -#: heat/engine/resource.py:441 +#: heat/engine/resource.py:440 #, python-format msgid "State %s invalid for create" msgstr "" -#: heat/engine/resource.py:479 +#: heat/engine/resource.py:444 +#, python-format +msgid "creating %s" +msgstr "" + +#: heat/engine/resource.py:476 msgid "Resource ID was not provided." msgstr "" -#: heat/engine/resource.py:525 +#: heat/engine/resource.py:524 msgid "Resource update already requested" msgstr "" +#: heat/engine/resource.py:527 +#, python-format +msgid "updating %s" +msgstr "" + #: heat/engine/resource.py:555 #, python-format -msgid "Resource %s update requires replacement" -msgstr "" - -#: heat/engine/resource.py:558 -#, python-format msgid "update %(resource)s : %(err)s" msgstr "" -#: heat/engine/resource.py:577 +#: heat/engine/resource.py:574 #, python-format msgid "State %s invalid for suspend" msgstr "" -#: heat/engine/resource.py:581 +#: heat/engine/resource.py:578 #, python-format msgid "suspending %s" msgstr "" -#: heat/engine/resource.py:593 +#: heat/engine/resource.py:590 #, python-format msgid "State %s invalid for resume" msgstr "" -#: heat/engine/resource.py:597 +#: heat/engine/resource.py:594 #, python-format msgid "resuming %s" msgstr "" -#: heat/engine/resource.py:633 +#: heat/engine/resource.py:630 msgid "limit cannot be less than 4" msgstr "" -#: heat/engine/resource.py:639 +#: heat/engine/resource.py:636 #, python-format msgid "Validating %s" msgstr "" -#: heat/engine/resource.py:649 +#: heat/engine/resource.py:645 #, python-format -msgid "Invalid DeletionPolicy %s" +msgid "Invalid deletion policy \"%s\"" msgstr "" -#: heat/engine/resource.py:653 -msgid "Snapshot DeletionPolicy not supported" +#: heat/engine/resource.py:650 +#, python-format +msgid "\"%s\" deletion policy not supported" msgstr "" -#: heat/engine/resource.py:671 +#: heat/engine/resource.py:668 #, python-format msgid "deleting %s" msgstr "" @@ -1594,7 +1547,7 @@ msgstr "" msgid "Error marking resource deletion failed" msgstr "" -#: heat/engine/resource.py:734 +#: heat/engine/resource.py:733 #, python-format msgid "db error %s" msgstr "" @@ -1604,17 +1557,17 @@ msgstr "" msgid "DB error %s" msgstr "" -#: heat/engine/resource.py:882 +#: heat/engine/resource.py:891 #, python-format msgid "Resource %s is not able to receive a signal" msgstr "" -#: heat/engine/resource.py:889 +#: heat/engine/resource.py:898 #, python-format msgid "signal %(name)s : %(msg)s" msgstr "" -#: heat/engine/resource.py:902 +#: heat/engine/resource.py:912 #, python-format msgid "Resource %s does not implement metadata update" msgstr "" @@ -1624,197 +1577,142 @@ msgstr "" msgid "%s Timed out" msgstr "" -#: heat/engine/scheduler.py:131 -#, python-format -msgid "%s sleeping" -msgstr "" - -#: heat/engine/scheduler.py:154 -#, python-format -msgid "%s starting" -msgstr "" - -#: heat/engine/scheduler.py:166 -#, python-format -msgid "%s done (not resumable)" -msgstr "" - #: heat/engine/scheduler.py:177 #, python-format msgid "%s timed out" msgstr "" -#: heat/engine/scheduler.py:187 -#, python-format -msgid "%s running" -msgstr "" - -#: heat/engine/scheduler.py:193 -#, python-format -msgid "%s complete" -msgstr "" - -#: heat/engine/scheduler.py:210 -#, python-format -msgid "%s cancelled" -msgstr "" - -#: heat/engine/service.py:196 -#, python-format -msgid "Periodic watcher task for stack %s" -msgstr "" - -#: heat/engine/service.py:200 +#: heat/engine/service.py:216 #, python-format msgid "Unable to retrieve stack %s for periodic task" msgstr "" -#: heat/engine/service.py:214 +#: heat/engine/service.py:230 #, python-format msgid "periodic_task db error watch rule removed? %(ex)s" msgstr "" -#: heat/engine/service.py:288 -#, python-format -msgid "Starting listener for engine %s" +#: heat/engine/service.py:352 +msgid "Attempting to stop engine service..." msgstr "" -#: heat/engine/service.py:438 +#: heat/engine/service.py:363 +#, python-format +msgid "Waiting stack %s processing to be finished" +msgstr "" + +#: heat/engine/service.py:367 +#, python-format +msgid "Stack %s processing was finished" +msgstr "" + +#: heat/engine/service.py:370 +msgid "All threads were gone, terminating engine" +msgstr "" + +#: heat/engine/service.py:489 #, python-format msgid "" "You have reached the maximum stacks per tenant, %d. Please delete some " "stacks." msgstr "" -#: heat/engine/service.py:463 +#: heat/engine/service.py:514 #, python-format msgid "previewing stack %s" msgstr "" -#: heat/engine/service.py:491 heat/engine/service.py:544 +#: heat/engine/service.py:542 #, python-format -msgid "template is %s" +msgid "Creating stack %s" msgstr "" -#: heat/engine/service.py:505 +#: heat/engine/service.py:557 #, python-format msgid "Stack create failed, status %s" msgstr "" -#: heat/engine/service.py:552 +#: heat/engine/service.py:595 +#, python-format +msgid "Updating stack %s" +msgstr "" + +#: heat/engine/service.py:600 msgid "Updating a stack when it is suspended" msgstr "" -#: heat/engine/service.py:556 -msgid "Updating a stack when another action is in progress" -msgstr "" - -#: heat/engine/service.py:594 -msgid "validate_template" -msgstr "" - -#: heat/engine/service.py:596 +#: heat/engine/service.py:640 msgid "No Template provided." msgstr "" -#: heat/engine/service.py:684 +#: heat/engine/service.py:734 #, python-format msgid "Deleting stack %s" msgstr "" -#: heat/engine/service.py:704 -#, python-format -msgid "Successfully stopped remote task on engine %s" -msgstr "" - -#: heat/engine/service.py:736 +#: heat/engine/service.py:779 #, python-format msgid "abandoning stack %s" msgstr "" -#: heat/engine/service.py:870 +#: heat/engine/service.py:897 #, python-format msgid "Access denied to resource %s" msgstr "" -#: heat/engine/service.py:951 -#, python-format -msgid "suspending stack %s" -msgstr "" - -#: heat/engine/service.py:966 -#, python-format -msgid "resuming stack %s" -msgstr "" - -#: heat/engine/service.py:1049 +#: heat/engine/service.py:1082 #, python-format msgid "show_watch (all) db error %s" msgstr "" -#: heat/engine/service.py:1072 +#: heat/engine/service.py:1105 msgid "Filtering by namespace/metric not yet supported" msgstr "" -#: heat/engine/service.py:1078 +#: heat/engine/service.py:1111 #, python-format msgid "show_metric (all) db error %s" msgstr "" -#: heat/engine/service.py:1140 +#: heat/engine/service.py:1173 msgid "server_id must be specified" msgstr "" -#: heat/engine/signal_responder.py:76 +#: heat/engine/signal_responder.py:68 msgid "Cannot generate signed url, no stored access/secret key" msgstr "" -#: heat/engine/stack_lock.py:69 -#, python-format -msgid "Engine %(engine)s acquired lock on stack %(stack)s" -msgstr "" - -#: heat/engine/stack_lock.py:76 -#, python-format -msgid "Lock on stack %(stack)s is owned by engine %(engine)s" -msgstr "" - -#: heat/engine/stack_lock.py:82 +#: heat/engine/stack_lock.py:83 #, python-format msgid "" "Stale lock detected on stack %(stack)s. Engine %(engine)s will attempt " "to steal the lock" msgstr "" -#: heat/engine/stack_lock.py:90 +#: heat/engine/stack_lock.py:91 #, python-format msgid "Engine %(engine)s successfully stole the lock on stack %(stack)s" msgstr "" -#: heat/engine/stack_lock.py:97 +#: heat/engine/stack_lock.py:98 #, python-format msgid "" "The lock on stack %(stack)s was released while engine %(engine)s was " "stealing it. Trying again" msgstr "" -#: heat/engine/stack_lock.py:104 +#: heat/engine/stack_lock.py:105 #, python-format msgid "" "Failed to steal lock on stack %(stack)s. Engine %(engine)s stole the lock" " first" msgstr "" -#: heat/engine/stack_lock.py:117 +#: heat/engine/stack_lock.py:118 #, python-format msgid "Lock was already released on stack %s!" msgstr "" -#: heat/engine/stack_lock.py:120 -#, python-format -msgid "Engine %(engine)s released lock on stack %(stack)s" -msgstr "" - #: heat/engine/stack_resource.py:68 msgid "Nested stack not found in DB" msgstr "" @@ -1824,40 +1722,40 @@ msgstr "" msgid "Preview of '%s' not yet implemented" msgstr "" -#: heat/engine/stack_resource.py:134 +#: heat/engine/stack_resource.py:151 #, python-format msgid "Recursion depth exceeds %d." msgstr "" -#: heat/engine/stack_resource.py:189 +#: heat/engine/stack_resource.py:211 #, python-format msgid "Cannot update %s, stack not created" msgstr "" -#: heat/engine/stack_resource.py:232 +#: heat/engine/stack_resource.py:256 #, python-format msgid "Nested stack UPDATE failed: %s" msgstr "" -#: heat/engine/stack_resource.py:243 +#: heat/engine/stack_resource.py:267 msgid "Stack not found to delete" msgstr "" -#: heat/engine/stack_resource.py:266 +#: heat/engine/stack_resource.py:290 #, python-format msgid "Cannot suspend %s, stack not created" msgstr "" -#: heat/engine/stack_resource.py:288 +#: heat/engine/stack_resource.py:312 #, python-format msgid "Cannot resume %s, stack not created" msgstr "" -#: heat/engine/stack_user.py:84 +#: heat/engine/stack_user.py:83 msgid "Reverting to legacy user delete path" msgstr "" -#: heat/engine/stack_user.py:121 +#: heat/engine/stack_user.py:117 #, python-format msgid "Error creating ec2 keypair for user %s" msgstr "" @@ -1867,11 +1765,15 @@ msgstr "" msgid "Specified status is invalid, defaulting to %s" msgstr "" -#: heat/engine/template.py:68 +#: heat/engine/template.py:65 #, python-format msgid "Ambiguous versions (%s)" msgstr "" +#: heat/engine/template.py:70 +msgid "Template version was not provided" +msgstr "" + #: heat/engine/template.py:94 #, python-format msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s" @@ -1882,42 +1784,22 @@ msgstr "" msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s" msgstr "" -#: heat/engine/template.py:195 +#: heat/engine/template.py:218 msgid "" "Template does not contain any resources, so the template would not really" " do anything when being instantiated." msgstr "" -#: heat/engine/template.py:202 +#: heat/engine/template.py:225 msgid "Every Resource object must contain a Type member." msgstr "" -#: heat/engine/template.py:209 +#: heat/engine/template.py:232 #, python-format msgid "Resources must contain Resource. Found a [%s] instead" msgstr "" -#: heat/engine/update.py:79 -#, python-format -msgid "Deleting backup resource %s" -msgstr "" - -#: heat/engine/update.py:103 -#, python-format -msgid "Swapping in backup Resource %s" -msgstr "" - -#: heat/engine/update.py:109 -#, python-format -msgid "Deleting backup Resource %s" -msgstr "" - -#: heat/engine/update.py:114 -#, python-format -msgid "Backing up existing Resource %s" -msgstr "" - -#: heat/engine/update.py:134 +#: heat/engine/update.py:131 #, python-format msgid "Resource %(res_name)s for stack %(stack_name)s updated" msgstr "" @@ -1927,196 +1809,180 @@ msgstr "" msgid "WatchRule.load (%(watch_name)s) db error %(ex)s" msgstr "" -#: heat/engine/watchrule.py:213 -#, python-format -msgid "ignoring %s" -msgstr "" - -#: heat/engine/watchrule.py:250 +#: heat/engine/watchrule.py:249 #, python-format msgid "WATCH: stack:%(stack)s, watch_name:%(watch_name)s, new_state:%(new_state)s" msgstr "" -#: heat/engine/watchrule.py:256 +#: heat/engine/watchrule.py:255 #, python-format msgid "no action for new state %s" msgstr "" -#: heat/engine/watchrule.py:266 +#: heat/engine/watchrule.py:265 #, python-format msgid "Could not process watch state %s for stack" msgstr "" -#: heat/engine/watchrule.py:287 -#, python-format -msgid "new sample:%(k)s data:%(sample)s" -msgstr "" - -#: heat/engine/watchrule.py:300 -#, python-format -msgid "Ignoring metric data for %s, SUSPENDED state" -msgstr "" - -#: heat/engine/watchrule.py:310 -#, python-format -msgid "Ignoring metric data (only accept %(metric)s) : %(data)s" -msgstr "" - -#: heat/engine/watchrule.py:320 -#, python-format -msgid "new watch:%(name)s data:%(data)s" -msgstr "" - -#: heat/engine/watchrule.py:328 +#: heat/engine/watchrule.py:327 #, python-format msgid "Invalid watch state %s" msgstr "" -#: heat/engine/watchrule.py:340 +#: heat/engine/watchrule.py:339 #, python-format msgid "Unknown watch state %s" msgstr "" -#: heat/engine/watchrule.py:346 -#, python-format -msgid "Overriding state %(self_state)s for watch %(name)s with %(state)s" -msgstr "" - -#: heat/engine/watchrule.py:351 +#: heat/engine/watchrule.py:350 #, python-format msgid "Unable to override state %(state)s for watch %(name)s" msgstr "" -#: heat/engine/cfn/functions.py:148 +#: heat/engine/cfn/functions.py:158 #, python-format msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]" msgstr "" -#: heat/engine/cfn/functions.py:197 +#: heat/engine/cfn/functions.py:210 #, python-format msgid "Arguments to \"%s\" must be of the form [index, collection]" msgstr "" -#: heat/engine/cfn/functions.py:223 +#: heat/engine/cfn/functions.py:236 #, python-format msgid "\"%(fn_name)s\": %(err)s" msgstr "" -#: heat/engine/cfn/functions.py:227 +#: heat/engine/cfn/functions.py:240 #, python-format msgid "Index to \"%s\" must be a string" msgstr "" -#: heat/engine/cfn/functions.py:234 +#: heat/engine/cfn/functions.py:247 #, python-format msgid "Index to \"%s\" must be an integer" msgstr "" -#: heat/engine/cfn/functions.py:245 +#: heat/engine/cfn/functions.py:258 #, python-format msgid "Arguments to %s not fully resolved" msgstr "" -#: heat/engine/cfn/functions.py:270 heat/engine/cfn/functions.py:276 -#: heat/engine/cfn/functions.py:321 heat/engine/cfn/functions.py:327 -#: heat/engine/cfn/functions.py:380 heat/engine/cfn/functions.py:386 +#: heat/engine/cfn/functions.py:283 heat/engine/cfn/functions.py:289 +#: heat/engine/cfn/functions.py:334 heat/engine/cfn/functions.py:340 +#: heat/engine/cfn/functions.py:393 heat/engine/cfn/functions.py:399 #, python-format msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s" msgstr "" -#: heat/engine/cfn/functions.py:283 +#: heat/engine/cfn/functions.py:296 #, python-format msgid "\"%s\" must operate on a list" msgstr "" -#: heat/engine/cfn/functions.py:287 +#: heat/engine/cfn/functions.py:300 #, python-format msgid "\"%s\" delimiter must be a string" msgstr "" -#: heat/engine/cfn/functions.py:294 +#: heat/engine/cfn/functions.py:307 msgid "Items to join must be strings" msgstr "" -#: heat/engine/cfn/functions.py:334 +#: heat/engine/cfn/functions.py:347 #, python-format msgid "Delimiter for %s must be string" msgstr "" -#: heat/engine/cfn/functions.py:337 +#: heat/engine/cfn/functions.py:350 #, python-format msgid "String to split must be string; got %s" msgstr "" -#: heat/engine/cfn/functions.py:368 +#: heat/engine/cfn/functions.py:381 #, python-format msgid "\"%s\" parameters must be a mapping" msgstr "" -#: heat/engine/cfn/functions.py:396 +#: heat/engine/cfn/functions.py:409 #, python-format msgid "\"%s\" template must be a string" msgstr "" -#: heat/engine/cfn/functions.py:399 +#: heat/engine/cfn/functions.py:412 #, python-format msgid "\"%s\" params must be a map" msgstr "" -#: heat/engine/cfn/functions.py:405 +#: heat/engine/cfn/functions.py:418 #, python-format msgid "\"%s\" param placeholders must be strings" msgstr "" -#: heat/engine/cfn/functions.py:412 +#: heat/engine/cfn/functions.py:425 #, python-format msgid "\"%s\" params must be strings or numbers" msgstr "" -#: heat/engine/cfn/functions.py:436 +#: heat/engine/cfn/functions.py:449 #, python-format msgid "\"%s\" argument must be a string" msgstr "" -#: heat/engine/cfn/functions.py:471 +#: heat/engine/cfn/functions.py:484 #, python-format msgid "Wrong Arguments try: \"%s\"" msgstr "" -#: heat/engine/cfn/functions.py:474 +#: heat/engine/cfn/functions.py:487 #, python-format msgid "%s Key Name must be a string" msgstr "" -#: heat/engine/cfn/functions.py:477 +#: heat/engine/cfn/functions.py:490 #, python-format msgid "%s Value Name must be a string" msgstr "" -#: heat/engine/cfn/functions.py:483 +#: heat/engine/cfn/functions.py:496 msgid "Member list must be a list" msgstr "" -#: heat/engine/cfn/functions.py:487 +#: heat/engine/cfn/functions.py:500 msgid "Member list items must be strings" msgstr "" -#: heat/engine/cfn/functions.py:522 +#: heat/engine/cfn/functions.py:535 #, python-format msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s" msgstr "" -#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48 -#: heat/engine/hot/template.py:52 +#: heat/engine/cfn/template.py:46 heat/engine/hot/template.py:58 +#: heat/engine/hot/template.py:62 #, python-format msgid "\"%s\" is not a valid template section" msgstr "" -#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55 +#: heat/engine/cfn/template.py:49 heat/engine/hot/template.py:65 #, python-format msgid "Section %s can not be accessed directly." msgstr "" +#: heat/engine/cfn/template.py:76 heat/engine/hot/template.py:166 +#, python-format +msgid "Resource %(name)s %(key)s typemust be %(typename)s" +msgstr "" + +#: heat/engine/cfn/template.py:86 heat/engine/hot/template.py:176 +#, python-format +msgid "Resource %(name)s is missing \"%(type_key)s\"" +msgstr "" + +#: heat/engine/clients/__init__.py:172 +msgid "Neutron connection failed, no auth_token!" +msgstr "" + #: heat/engine/hot/functions.py:46 #, python-format msgid "Function \"%s\" must have arguments" @@ -2176,695 +2042,757 @@ msgid "" "%(file_key)s" msgstr "" -#: heat/engine/hot/parameters.py:70 +#: heat/engine/hot/parameters.py:67 #, python-format msgid "Invalid parameter constraints for parameter %s, expected a list" msgstr "" -#: heat/engine/hot/parameters.py:103 +#: heat/engine/hot/parameters.py:100 msgid "No constraint expressed" msgstr "" -#: heat/engine/hot/template.py:106 +#: heat/engine/hot/template.py:115 heat/engine/hot/template.py:207 #, python-format msgid "\"%s\" is not a valid keyword inside a resource definition" msgstr "" -#: heat/engine/hot/template.py:126 +#: heat/engine/hot/template.py:135 #, python-format msgid "\"%s\" is not a valid keyword inside an output definition" msgstr "" -#: heat/engine/resources/autoscaling.py:104 -#: heat/engine/resources/autoscaling.py:463 -#: heat/engine/resources/autoscaling.py:496 -#: heat/engine/resources/autoscaling.py:501 -#: heat/engine/resources/autoscaling.py:784 -#: heat/engine/resources/autoscaling.py:789 -#: heat/engine/resources/autoscaling.py:794 -#: heat/engine/resources/instance.py:173 heat/engine/resources/instance.py:178 -#: heat/engine/resources/instance.py:183 heat/engine/resources/instance.py:188 -#: heat/engine/resources/instance.py:193 heat/engine/resources/instance.py:198 -#: heat/engine/resources/instance.py:215 heat/engine/resources/instance.py:259 -#: heat/engine/resources/loadbalancer.py:309 -#: heat/engine/resources/loadbalancer.py:314 -#: heat/engine/resources/loadbalancer.py:323 -#: heat/engine/resources/loadbalancer.py:328 -#: heat/engine/resources/loadbalancer.py:333 -#: heat/engine/resources/loadbalancer.py:338 heat/engine/resources/user.py:47 -#: heat/engine/resources/user.py:51 heat/engine/resources/user.py:138 -#: heat/engine/resources/user.py:148 +#: heat/engine/resources/autoscaling.py:110 +#: heat/engine/resources/autoscaling.py:476 +#: heat/engine/resources/autoscaling.py:509 +#: heat/engine/resources/autoscaling.py:514 +#: heat/engine/resources/autoscaling.py:793 +#: heat/engine/resources/autoscaling.py:798 +#: heat/engine/resources/autoscaling.py:803 +#: heat/engine/resources/instance.py:191 heat/engine/resources/instance.py:196 +#: heat/engine/resources/instance.py:201 heat/engine/resources/instance.py:206 +#: heat/engine/resources/instance.py:211 heat/engine/resources/instance.py:216 +#: heat/engine/resources/instance.py:234 heat/engine/resources/instance.py:279 +#: heat/engine/resources/loadbalancer.py:317 +#: heat/engine/resources/loadbalancer.py:322 +#: heat/engine/resources/loadbalancer.py:331 +#: heat/engine/resources/loadbalancer.py:336 +#: heat/engine/resources/loadbalancer.py:341 +#: heat/engine/resources/loadbalancer.py:346 heat/engine/resources/user.py:47 +#: heat/engine/resources/user.py:51 heat/engine/resources/user.py:143 +#: heat/engine/resources/user.py:153 msgid "Not Implemented." msgstr "" -#: heat/engine/resources/autoscaling.py:109 -#: heat/engine/resources/autoscaling.py:468 +#: heat/engine/resources/autoscaling.py:115 +#: heat/engine/resources/autoscaling.py:481 msgid "Name of LaunchConfiguration resource." msgstr "" -#: heat/engine/resources/autoscaling.py:115 +#: heat/engine/resources/autoscaling.py:121 msgid "Desired number of instances." msgstr "" -#: heat/engine/resources/autoscaling.py:121 -#: heat/engine/resources/autoscaling.py:509 +#: heat/engine/resources/autoscaling.py:127 +#: heat/engine/resources/autoscaling.py:522 msgid "List of LoadBalancer resources." msgstr "" -#: heat/engine/resources/autoscaling.py:125 -#: heat/engine/resources/autoscaling.py:517 +#: heat/engine/resources/autoscaling.py:131 +#: heat/engine/resources/autoscaling.py:538 msgid "Tags to attach to this group." msgstr "" -#: heat/engine/resources/autoscaling.py:145 +#: heat/engine/resources/autoscaling.py:150 msgid "A comma-delimited list of server ip addresses. (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:404 +#: heat/engine/resources/autoscaling.py:411 #, python-format msgid "Unsupported resource '%s' in LoadBalancerNames" msgstr "" -#: heat/engine/resources/autoscaling.py:474 +#: heat/engine/resources/autoscaling.py:487 msgid "Maximum number of instances in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:480 +#: heat/engine/resources/autoscaling.py:493 msgid "Minimum number of instances in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:486 -#: heat/engine/resources/autoscaling.py:854 -#: heat/engine/resources/autoscaling.py:955 -#: heat/engine/resources/autoscaling.py:1095 +#: heat/engine/resources/autoscaling.py:499 +#: heat/engine/resources/autoscaling.py:872 +#: heat/engine/resources/autoscaling.py:984 +#: heat/engine/resources/autoscaling.py:1125 msgid "Cooldown period, in seconds." msgstr "" -#: heat/engine/resources/autoscaling.py:491 +#: heat/engine/resources/autoscaling.py:504 msgid "Desired initial number of instances." msgstr "" -#: heat/engine/resources/autoscaling.py:513 -msgid "List of VPC subnet identifiers." +#: heat/engine/resources/autoscaling.py:526 +msgid "" +"Use only with Neutron, to list the internal subnet to which the instance " +"will be attached; needed only if multiple exist; list length must be " +"exactly 1." msgstr "" -#: heat/engine/resources/autoscaling.py:621 +#: heat/engine/resources/autoscaling.py:532 +msgid "UUID of the internal subnet to which the instance will be attached." +msgstr "" + +#: heat/engine/resources/autoscaling.py:630 #, python-format msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s" msgstr "" -#: heat/engine/resources/autoscaling.py:648 +#: heat/engine/resources/autoscaling.py:657 #, python-format msgid "truncating growth to %s" msgstr "" -#: heat/engine/resources/autoscaling.py:651 +#: heat/engine/resources/autoscaling.py:660 #, python-format msgid "can not exceed %s" msgstr "" -#: heat/engine/resources/autoscaling.py:655 +#: heat/engine/resources/autoscaling.py:664 #, python-format msgid "truncating shrinkage to %s" msgstr "" -#: heat/engine/resources/autoscaling.py:658 +#: heat/engine/resources/autoscaling.py:667 #, python-format msgid "can not be less than %s" msgstr "" -#: heat/engine/resources/autoscaling.py:662 -#, python-format -msgid "no change in capacity %d" -msgstr "" - -#: heat/engine/resources/autoscaling.py:672 +#: heat/engine/resources/autoscaling.py:681 #, python-format msgid "Start resizing the group %(group)s" msgstr "" -#: heat/engine/resources/autoscaling.py:687 +#: heat/engine/resources/autoscaling.py:696 msgid "Failed sending error notification" msgstr "" -#: heat/engine/resources/autoscaling.py:692 +#: heat/engine/resources/autoscaling.py:701 #, python-format msgid "End resizing the group %(group)s" msgstr "" -#: heat/engine/resources/autoscaling.py:720 +#: heat/engine/resources/autoscaling.py:729 msgid "MinSize can not be greater than MaxSize" msgstr "" -#: heat/engine/resources/autoscaling.py:724 +#: heat/engine/resources/autoscaling.py:733 msgid "The size of AutoScalingGroup can not be less than zero" msgstr "" -#: heat/engine/resources/autoscaling.py:730 +#: heat/engine/resources/autoscaling.py:739 msgid "DesiredCapacity must be between MinSize and MaxSize" msgstr "" -#: heat/engine/resources/autoscaling.py:739 +#: heat/engine/resources/autoscaling.py:748 msgid "Anything other than one VPCZoneIdentifier" msgstr "" -#: heat/engine/resources/autoscaling.py:762 -#: heat/engine/resources/instance.py:146 +#: heat/engine/resources/autoscaling.py:771 +#: heat/engine/resources/instance.py:164 msgid "Glance image ID or name." msgstr "" -#: heat/engine/resources/autoscaling.py:767 -#: heat/engine/resources/instance.py:156 +#: heat/engine/resources/autoscaling.py:776 +#: heat/engine/resources/instance.py:174 msgid "Nova instance type (flavor)." msgstr "" -#: heat/engine/resources/autoscaling.py:772 -#: heat/engine/resources/instance.py:162 +#: heat/engine/resources/autoscaling.py:781 +#: heat/engine/resources/instance.py:180 msgid "Optional Nova keypair name." msgstr "" -#: heat/engine/resources/autoscaling.py:776 -#: heat/engine/resources/instance.py:267 +#: heat/engine/resources/autoscaling.py:785 +#: heat/engine/resources/instance.py:287 msgid "User data to pass to instance." msgstr "" -#: heat/engine/resources/autoscaling.py:780 -#: heat/engine/resources/instance.py:203 +#: heat/engine/resources/autoscaling.py:789 +#: heat/engine/resources/instance.py:221 msgid "Security group names to assign." msgstr "" -#: heat/engine/resources/autoscaling.py:799 -#: heat/engine/resources/instance.py:242 +#: heat/engine/resources/autoscaling.py:808 +#: heat/engine/resources/instance.py:262 msgid "Scheduler hints to pass to Nova (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:832 +#: heat/engine/resources/autoscaling.py:849 msgid "" "Resource definition for the resources in the group, in HOT format. The " "value of this property is the definition of a resource just as if it had " "been declared in the template itself." msgstr "" -#: heat/engine/resources/autoscaling.py:840 +#: heat/engine/resources/autoscaling.py:858 msgid "Maximum number of resources in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:847 +#: heat/engine/resources/autoscaling.py:865 msgid "Minimum number of resources in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:859 +#: heat/engine/resources/autoscaling.py:877 msgid "Desired initial number of resources." msgstr "" -#: heat/engine/resources/autoscaling.py:933 +#: heat/engine/resources/autoscaling.py:882 +msgid "Policy for rolling updates for this scaling group." +msgstr "" + +#: heat/engine/resources/autoscaling.py:888 +msgid "" +"The minimum number of resources in service while rolling updates are " +"being executed." +msgstr "" + +#: heat/engine/resources/autoscaling.py:894 +msgid "The maximum number of resources to replace at once." +msgstr "" + +#: heat/engine/resources/autoscaling.py:899 +msgid "The number of seconds to wait between batches of updates." +msgstr "" + +#: heat/engine/resources/autoscaling.py:962 msgid "AutoScaling group name to apply policy to." msgstr "" -#: heat/engine/resources/autoscaling.py:938 -#: heat/engine/resources/autoscaling.py:1078 +#: heat/engine/resources/autoscaling.py:967 +#: heat/engine/resources/autoscaling.py:1108 msgid "Size of adjustment." msgstr "" -#: heat/engine/resources/autoscaling.py:944 -#: heat/engine/resources/autoscaling.py:1084 +#: heat/engine/resources/autoscaling.py:973 +#: heat/engine/resources/autoscaling.py:1114 msgid "Type of adjustment (absolute or percentage)." msgstr "" -#: heat/engine/resources/autoscaling.py:963 +#: heat/engine/resources/autoscaling.py:991 msgid "A signed url to handle the alarm. (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:988 -#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115 +#: heat/engine/resources/autoscaling.py:1013 +#: heat/engine/resources/instance.py:83 heat/tests/generic_resource.py:131 #, python-format msgid "Cannot signal resource during %s" msgstr "" -#: heat/engine/resources/autoscaling.py:1005 -#: heat/engine/resources/instance.py:80 +#: heat/engine/resources/autoscaling.py:1030 +#: heat/engine/resources/instance.py:91 #, python-format msgid "%(name)s Alarm, new state %(state)s" msgstr "" -#: heat/engine/resources/autoscaling.py:1011 +#: heat/engine/resources/autoscaling.py:1036 #, python-format msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s" msgstr "" -#: heat/engine/resources/autoscaling.py:1020 +#: heat/engine/resources/autoscaling.py:1045 #, python-format msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\"" msgstr "" -#: heat/engine/resources/autoscaling.py:1025 +#: heat/engine/resources/autoscaling.py:1050 #, python-format msgid "" "%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by " "%(filter)s" msgstr "" -#: heat/engine/resources/autoscaling.py:1073 +#: heat/engine/resources/autoscaling.py:1103 msgid "AutoScaling group ID to apply policy to." msgstr "" -#: heat/engine/resources/autoscaling.py:1103 +#: heat/engine/resources/autoscaling.py:1132 msgid "A signed url to handle the alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:41 +#: heat/engine/resources/cloud_watch.py:37 msgid "Operator used to compare the specified Statistic with Threshold." msgstr "" -#: heat/engine/resources/cloud_watch.py:53 -#: heat/engine/resources/ceilometer/alarm.py:33 +#: heat/engine/resources/cloud_watch.py:49 +#: heat/engine/resources/ceilometer/alarm.py:35 msgid "Description for the alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:58 -#: heat/engine/resources/ceilometer/alarm.py:115 +#: heat/engine/resources/cloud_watch.py:54 +#: heat/engine/resources/ceilometer/alarm.py:117 msgid "Number of periods to evaluate over." msgstr "" -#: heat/engine/resources/cloud_watch.py:63 +#: heat/engine/resources/cloud_watch.py:59 msgid "Metric name watched by the alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:67 +#: heat/engine/resources/cloud_watch.py:63 msgid "Namespace for the metric." msgstr "" -#: heat/engine/resources/cloud_watch.py:71 -#: heat/engine/resources/ceilometer/alarm.py:125 +#: heat/engine/resources/cloud_watch.py:67 +#: heat/engine/resources/ceilometer/alarm.py:127 msgid "Period (seconds) to evaluate over." msgstr "" -#: heat/engine/resources/cloud_watch.py:76 +#: heat/engine/resources/cloud_watch.py:72 msgid "Metric statistic to evaluate." msgstr "" -#: heat/engine/resources/cloud_watch.py:85 +#: heat/engine/resources/cloud_watch.py:81 msgid "A list of actions to execute when state transitions to alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:90 +#: heat/engine/resources/cloud_watch.py:86 msgid "A list of actions to execute when state transitions to ok." msgstr "" -#: heat/engine/resources/cloud_watch.py:95 +#: heat/engine/resources/cloud_watch.py:91 msgid "" "A list of dimensions (arbitrary name/value pairs) associated with the " "metric." msgstr "" -#: heat/engine/resources/cloud_watch.py:100 +#: heat/engine/resources/cloud_watch.py:96 msgid "A list of actions to execute when state transitions to insufficient-data." msgstr "" -#: heat/engine/resources/cloud_watch.py:106 -#: heat/engine/resources/ceilometer/alarm.py:139 +#: heat/engine/resources/cloud_watch.py:102 +#: heat/engine/resources/ceilometer/alarm.py:141 msgid "Threshold to evaluate against." msgstr "" -#: heat/engine/resources/cloud_watch.py:111 +#: heat/engine/resources/cloud_watch.py:107 msgid "Unit for the metric." msgstr "" -#: heat/engine/resources/eip.py:37 +#: heat/engine/resources/eip.py:44 msgid "Set to \"vpc\" to have IP address allocation associated to your VPC." msgstr "" -#: heat/engine/resources/eip.py:45 +#: heat/engine/resources/eip.py:52 msgid "Instance ID to associate with EIP." msgstr "" -#: heat/engine/resources/eip.py:50 +#: heat/engine/resources/eip.py:58 msgid "" "ID that AWS assigns to represent the allocation of the address for use " "with Amazon VPC. Returned only for VPC elastic IP addresses." msgstr "" -#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74 +#: heat/engine/resources/eip.py:76 heat/engine/resources/eip.py:83 #, python-format msgid "Floating IPs not found: %s" msgstr "" -#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108 +#: heat/engine/resources/eip.py:100 heat/engine/resources/eip.py:117 #, python-format msgid "ElasticIp create %s" msgstr "" -#: heat/engine/resources/eip.py:94 +#: heat/engine/resources/eip.py:103 #, python-format msgid "Domain property can not be set on resource %s without Neutron available" msgstr "" -#: heat/engine/resources/eip.py:101 +#: heat/engine/resources/eip.py:110 msgid "" "No default floating IP pool configured. Set 'default_floating_pool' in " "nova.conf." msgstr "" -#: heat/engine/resources/eip.py:158 +#: heat/engine/resources/eip.py:167 msgid "Instance ID to associate with EIP specified by EIP property." msgstr "" -#: heat/engine/resources/eip.py:162 +#: heat/engine/resources/eip.py:171 msgid "EIP address to associate with instance." msgstr "" -#: heat/engine/resources/eip.py:166 +#: heat/engine/resources/eip.py:175 msgid "Allocation ID for VPC EIP address." msgstr "" -#: heat/engine/resources/eip.py:170 +#: heat/engine/resources/eip.py:179 msgid "Network interface ID to associate with EIP." msgstr "" -#: heat/engine/resources/eip.py:187 +#: heat/engine/resources/eip.py:196 msgid "Skipping association, InstanceId not specified" msgstr "" -#: heat/engine/resources/eip.py:193 -#, python-format -msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)" -msgstr "" - -#: heat/engine/resources/eip.py:210 +#: heat/engine/resources/eip.py:218 msgid "Skipping association, resource not specified" msgstr "" -#: heat/engine/resources/instance.py:46 +#: heat/engine/resources/glance_image.py:38 +msgid "" +"Name for the image. The name of an image is not unique to a Image Service" +" node." +msgstr "" + +#: heat/engine/resources/glance_image.py:43 +msgid "The image ID. Glance will generate a UUID if not specified." +msgstr "" + +#: heat/engine/resources/glance_image.py:47 +msgid "" +"Scope of image accessibility. Public or private. Default value is False " +"means private." +msgstr "" + +#: heat/engine/resources/glance_image.py:53 +msgid "" +"Amount of disk space (in GB) required to boot image. Default value is 0 " +"if not specified and means no limit on the disk size." +msgstr "" + +#: heat/engine/resources/glance_image.py:62 +msgid "" +"Amount of ram (in MB) required to boot image. Default value is 0 if not " +"specified and means no limit on the ram size." +msgstr "" + +#: heat/engine/resources/glance_image.py:70 +msgid "" +"Whether the image can be deleted. If the value is True, the image is " +"protected and cannot be deleted." +msgstr "" + +#: heat/engine/resources/glance_image.py:75 +msgid "Disk format of image." +msgstr "" + +#: heat/engine/resources/glance_image.py:85 +msgid "Container format of image." +msgstr "" + +#: heat/engine/resources/glance_image.py:94 +msgid "" +"URL where the data for this image already resides. For example, if the " +"image data is stored in swift, you could specify " +"\"swift://example.com/container/obj\"." +msgstr "" + +#: heat/engine/resources/glance_utils.py:58 +#, python-format +msgid "Error retrieving image list from glance: %s" +msgstr "" + +#: heat/engine/resources/glance_utils.py:61 +#, python-format +msgid "Image %s was not found in glance" +msgstr "" + +#: heat/engine/resources/glance_utils.py:65 +#, python-format +msgid "Multiple images %s were found in glance with name" +msgstr "" + +#: heat/engine/resources/instance.py:56 msgid "Instance ID to be restarted." msgstr "" -#: heat/engine/resources/instance.py:52 +#: heat/engine/resources/instance.py:63 msgid "A signed url to handle the alarm (Heat extension)." msgstr "" -#: heat/engine/resources/instance.py:88 +#: heat/engine/resources/instance.py:99 #, python-format msgid "%(name)s Alarm, can not find instance %(instance)s" msgstr "" -#: heat/engine/resources/instance.py:94 +#: heat/engine/resources/instance.py:104 #, python-format msgid "%(name)s Alarm, restarting resource: %(victim)s" msgstr "" -#: heat/engine/resources/instance.py:169 +#: heat/engine/resources/instance.py:187 msgid "Availability zone to launch the instance in." msgstr "" -#: heat/engine/resources/instance.py:207 +#: heat/engine/resources/instance.py:225 msgid "Security group IDs to assign." msgstr "" -#: heat/engine/resources/instance.py:211 +#: heat/engine/resources/instance.py:229 msgid "Network interfaces to associate with instance." msgstr "" -#: heat/engine/resources/instance.py:220 +#: heat/engine/resources/instance.py:239 msgid "Subnet ID to launch instance in." msgstr "" -#: heat/engine/resources/instance.py:224 +#: heat/engine/resources/instance.py:244 msgid "Tags to attach to instance." msgstr "" -#: heat/engine/resources/instance.py:271 +#: heat/engine/resources/instance.py:291 msgid "Volumes to attach to instance." msgstr "" -#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338 +#: heat/engine/resources/instance.py:298 heat/engine/resources/volume.py:436 msgid "" "The device where the volume is exposed on the instance. This assignment " "may not be honored and it is advised that the path /dev/disk/by-" "id/virtio- be used instead." msgstr "" -#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332 -#: heat/engine/resources/volume.py:547 +#: heat/engine/resources/instance.py:307 heat/engine/resources/volume.py:430 +#: heat/engine/resources/volume.py:707 msgid "The ID of the volume to be attached." msgstr "" -#: heat/engine/resources/instance.py:295 +#: heat/engine/resources/instance.py:317 msgid "The Availability Zone where the specified instance is launched." msgstr "" -#: heat/engine/resources/instance.py:298 +#: heat/engine/resources/instance.py:321 msgid "Private DNS name of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:300 +#: heat/engine/resources/instance.py:324 msgid "Public DNS name of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:302 +#: heat/engine/resources/instance.py:327 msgid "Private IP address of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:304 +#: heat/engine/resources/instance.py:330 msgid "Public IP address of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:345 +#: heat/engine/resources/instance.py:369 #, python-format msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s" msgstr "" -#: heat/engine/resources/instance.py:511 +#: heat/engine/resources/instance.py:533 #, python-format msgid "Creation of server %(server)s failed: %(message)s (%(code)s)" msgstr "" -#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562 +#: heat/engine/resources/instance.py:540 heat/engine/resources/server.py:551 #, python-format msgid "Creation of server %(server)s failed with unknown status: %(status)s" msgstr "" -#: heat/engine/resources/instance.py:598 -#, python-format -msgid "Deletion of server %s failed." -msgstr "" - -#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985 +#: heat/engine/resources/instance.py:743 heat/engine/resources/server.py:987 #, python-format msgid "Cannot suspend %s, resource_id not set" msgstr "" -#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708 +#: heat/engine/resources/instance.py:749 heat/engine/resources/instance.py:804 #, python-format msgid "Failed to find instance %s" msgstr "" -#: heat/engine/resources/instance.py:655 -#, python-format -msgid "suspending instance %s" -msgstr "" - -#: heat/engine/resources/instance.py:677 heat/engine/resources/server.py:1011 -#, python-format -msgid "%(name)s check_suspend_complete status = %(status)s" -msgstr "" - -#: heat/engine/resources/instance.py:685 +#: heat/engine/resources/instance.py:781 #, python-format msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031 +#: heat/engine/resources/instance.py:798 heat/engine/resources/server.py:1032 #, python-format msgid "Cannot resume %s, resource_id not set" msgstr "" -#: heat/engine/resources/instance.py:711 -#, python-format -msgid "resuming instance %s" -msgstr "" - -#: heat/engine/resources/internet_gateway.py:74 +#: heat/engine/resources/internet_gateway.py:71 #, python-format msgid "Expected 1 external network, found %d" msgstr "" -#: heat/engine/resources/internet_gateway.py:90 +#: heat/engine/resources/internet_gateway.py:87 msgid "VPC ID for this gateway association." msgstr "" -#: heat/engine/resources/internet_gateway.py:95 +#: heat/engine/resources/internet_gateway.py:92 msgid "ID of the InternetGateway." msgstr "" -#: heat/engine/resources/internet_gateway.py:99 +#: heat/engine/resources/internet_gateway.py:96 msgid "ID of the VPNGateway to attach to the VPC." msgstr "" -#: heat/engine/resources/loadbalancer.py:238 +#: heat/engine/resources/loadbalancer.py:246 msgid "The Availability Zones in which to create the load balancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:243 +#: heat/engine/resources/loadbalancer.py:251 msgid "An application health check for the instances." msgstr "" -#: heat/engine/resources/loadbalancer.py:247 +#: heat/engine/resources/loadbalancer.py:255 msgid "" "The number of consecutive health probe successes required before moving " "the instance to the healthy state." msgstr "" -#: heat/engine/resources/loadbalancer.py:254 +#: heat/engine/resources/loadbalancer.py:262 msgid "" "The approximate interval, in seconds, between health checks of an " "individual instance." msgstr "" -#: heat/engine/resources/loadbalancer.py:260 +#: heat/engine/resources/loadbalancer.py:268 msgid "The port being checked." msgstr "" -#: heat/engine/resources/loadbalancer.py:265 +#: heat/engine/resources/loadbalancer.py:273 msgid "Health probe timeout, in seconds." msgstr "" -#: heat/engine/resources/loadbalancer.py:270 +#: heat/engine/resources/loadbalancer.py:278 msgid "" "The number of consecutive health probe failures required before moving " "the instance to the unhealthy state" msgstr "" -#: heat/engine/resources/loadbalancer.py:279 +#: heat/engine/resources/loadbalancer.py:287 msgid "The list of instance IDs load balanced." msgstr "" -#: heat/engine/resources/loadbalancer.py:284 +#: heat/engine/resources/loadbalancer.py:292 msgid "One or more listeners for this load balancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:290 +#: heat/engine/resources/loadbalancer.py:298 msgid "TCP port on which the instance server is listening." msgstr "" -#: heat/engine/resources/loadbalancer.py:296 +#: heat/engine/resources/loadbalancer.py:304 msgid "The external load balancer port number." msgstr "" -#: heat/engine/resources/loadbalancer.py:301 +#: heat/engine/resources/loadbalancer.py:309 msgid "The load balancer transport protocol to use." msgstr "" -#: heat/engine/resources/loadbalancer.py:344 +#: heat/engine/resources/loadbalancer.py:353 msgid "The name of the hosted zone that is associated with the LoadBalancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:346 +#: heat/engine/resources/loadbalancer.py:357 msgid "The ID of the hosted zone name that is associated with the LoadBalancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:349 +#: heat/engine/resources/loadbalancer.py:361 msgid "The DNS name for the LoadBalancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:350 +#: heat/engine/resources/loadbalancer.py:364 msgid "" "The security group that you can use as part of your inbound rules for " "your LoadBalancer's back-end instances." msgstr "" -#: heat/engine/resources/loadbalancer.py:354 +#: heat/engine/resources/loadbalancer.py:368 msgid "Owner of the source security group." msgstr "" -#: heat/engine/resources/loadbalancer.py:416 -#, python-format -msgid "haproxy server:%s" -msgstr "" - -#: heat/engine/resources/loadbalancer.py:427 +#: heat/engine/resources/loadbalancer.py:439 #, python-format msgid "Using custom loadbalancer template %s" msgstr "" -#: heat/engine/resources/loadbalancer.py:496 +#: heat/engine/resources/loadbalancer.py:508 msgid "Custom LoadBalancer template can not be found" msgstr "" -#: heat/engine/resources/network_interface.py:42 +#: heat/engine/resources/network_interface.py:46 msgid "Description for this interface." msgstr "" -#: heat/engine/resources/network_interface.py:46 +#: heat/engine/resources/network_interface.py:50 msgid "List of security group IDs associated with this interface." msgstr "" -#: heat/engine/resources/network_interface.py:54 +#: heat/engine/resources/network_interface.py:58 msgid "Flag indicating if traffic to or from instance is validated." msgstr "" -#: heat/engine/resources/network_interface.py:59 +#: heat/engine/resources/network_interface.py:63 msgid "Subnet ID to associate with this interface." msgstr "" -#: heat/engine/resources/network_interface.py:66 +#: heat/engine/resources/network_interface.py:70 msgid "List of tags associated with this interface." msgstr "" -#: heat/engine/resources/network_interface.py:82 +#: heat/engine/resources/network_interface.py:88 msgid "Private IP address of the network interface." msgstr "" -#: heat/engine/resources/nova_floatingip.py:30 +#: heat/engine/resources/nova_floatingip.py:37 msgid "Allocate a floating IP from a given floating IP pool." msgstr "" -#: heat/engine/resources/nova_floatingip.py:36 +#: heat/engine/resources/nova_floatingip.py:44 msgid "Pool from which floating IP is allocated." msgstr "" -#: heat/engine/resources/nova_floatingip.py:37 +#: heat/engine/resources/nova_floatingip.py:47 msgid "Allocated floating IP address." msgstr "" -#: heat/engine/resources/nova_floatingip.py:57 +#: heat/engine/resources/nova_floatingip.py:68 msgid "" "Could not allocate floating IP. Probably there is no default floating IP " "pool is configured." msgstr "" -#: heat/engine/resources/nova_floatingip.py:90 +#: heat/engine/resources/nova_floatingip.py:101 msgid "Server to assign floating IP to." msgstr "" -#: heat/engine/resources/nova_floatingip.py:95 +#: heat/engine/resources/nova_floatingip.py:107 msgid "ID of the floating IP to assign to the server." msgstr "" -#: heat/engine/resources/nova_keypair.py:51 +#: heat/engine/resources/nova_keypair.py:54 msgid "The name of the key pair." msgstr "" -#: heat/engine/resources/nova_keypair.py:56 +#: heat/engine/resources/nova_keypair.py:59 msgid "" "True if the system should remember a generated private key; False " "otherwise." msgstr "" -#: heat/engine/resources/nova_keypair.py:62 +#: heat/engine/resources/nova_keypair.py:65 msgid "" "The optional public key. This allows users to supply the public key from " "a pre-existing key pair. If not supplied, a new key pair will be " "generated." msgstr "" -#: heat/engine/resources/nova_keypair.py:69 +#: heat/engine/resources/nova_keypair.py:73 msgid "The public key." msgstr "" -#: heat/engine/resources/nova_keypair.py:70 +#: heat/engine/resources/nova_keypair.py:76 msgid "The private key if it has been saved." msgstr "" +#: heat/engine/resources/nova_servergroup.py:35 +msgid "Server Group name." +msgstr "" + +#: heat/engine/resources/nova_servergroup.py:39 +msgid "A list of string policies to apply.Defaults to anti-affinity." +msgstr "" + #: heat/engine/resources/nova_utils.py:56 #, python-format msgid "" @@ -2872,341 +2800,376 @@ msgid "" "server.get(): %(exception)s" msgstr "" -#: heat/engine/resources/nova_utils.py:63 +#: heat/engine/resources/nova_utils.py:64 #, python-format msgid "" "Server \"%(name)s\" (%(id)s) received the following exception during " "server.get(): %(exception)s" msgstr "" -#: heat/engine/resources/nova_utils.py:85 -#: heat/engine/resources/nova_utils.py:98 -#, python-format -msgid "Image %s was not found in glance" -msgstr "" - -#: heat/engine/resources/nova_utils.py:93 -#, python-format -msgid "Error retrieving image list from nova: %s" -msgstr "" - -#: heat/engine/resources/nova_utils.py:102 -#, python-format -msgid "Multiple images %s were found in glance with name" -msgstr "" - -#: heat/engine/resources/nova_utils.py:317 +#: heat/engine/resources/nova_utils.py:280 #, python-format msgid "Resizing to '%(flavor)s' failed, status '%(status)s'" msgstr "" -#: heat/engine/resources/nova_utils.py:339 +#: heat/engine/resources/nova_utils.py:302 #, python-format msgid "Rebuilding server failed, status '%s'" msgstr "" -#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639 +#: heat/engine/resources/nova_utils.py:334 heat/engine/resources/server.py:630 #, python-format msgid "Instance (%(server)s) not found: %(ex)s" msgstr "" -#: heat/engine/resources/os_database.py:54 +#: heat/engine/resources/os_database.py:61 msgid "Name of the DB instance to create." msgstr "" -#: heat/engine/resources/os_database.py:62 +#: heat/engine/resources/os_database.py:69 msgid "Reference to a flavor for creating DB instance." msgstr "" -#: heat/engine/resources/os_database.py:67 +#: heat/engine/resources/os_database.py:74 msgid "Database volume size in GB." msgstr "" -#: heat/engine/resources/os_database.py:75 +#: heat/engine/resources/os_database.py:82 msgid "List of databases to be created on DB instance creation." msgstr "" -#: heat/engine/resources/os_database.py:82 +#: heat/engine/resources/os_database.py:89 msgid "Set of symbols and encodings." msgstr "" -#: heat/engine/resources/os_database.py:87 +#: heat/engine/resources/os_database.py:94 msgid "Set of rules for comparing characters in a character set." msgstr "" -#: heat/engine/resources/os_database.py:93 +#: heat/engine/resources/os_database.py:100 msgid "Specifies database names for creating databases on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:108 +#: heat/engine/resources/os_database.py:115 msgid "List of users to be created on DB instance creation." msgstr "" -#: heat/engine/resources/os_database.py:115 +#: heat/engine/resources/os_database.py:122 msgid "User name to create a user on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:127 +#: heat/engine/resources/os_database.py:134 msgid "Password for those users on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:138 +#: heat/engine/resources/os_database.py:145 msgid "The host from which a user is allowed to connect to the database." msgstr "" -#: heat/engine/resources/os_database.py:144 +#: heat/engine/resources/os_database.py:151 msgid "Names of databases that those users can access on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:156 +#: heat/engine/resources/os_database.py:163 msgid "Name of the availability zone for DB instance." msgstr "" -#: heat/engine/resources/os_database.py:160 +#: heat/engine/resources/os_database.py:167 msgid "DB instance restore point." msgstr "" -#: heat/engine/resources/os_database.py:165 +#: heat/engine/resources/os_database.py:173 msgid "Hostname of the instance" msgstr "" -#: heat/engine/resources/os_database.py:166 +#: heat/engine/resources/os_database.py:176 msgid "Api endpoint reference of the instance" msgstr "" -#: heat/engine/resources/os_database.py:225 +#: heat/engine/resources/os_database.py:236 #, python-format msgid "" "Stack %(name)s (%(id)s) received an OverLimit response during " "instance.get(): %(exception)s" msgstr "" -#: heat/engine/resources/os_database.py:238 +#: heat/engine/resources/os_database.py:249 msgid "Database instance creation failed." msgstr "" -#: heat/engine/resources/os_database.py:243 +#: heat/engine/resources/os_database.py:254 #, python-format msgid "" "Database instance %(database)s created (flavor:%(flavor)s, " "volume:%(volume)s)" msgstr "" -#: heat/engine/resources/os_database.py:261 -#, python-format -msgid "Database instance %s not found." -msgstr "" - -#: heat/engine/resources/os_database.py:298 +#: heat/engine/resources/os_database.py:308 msgid "Databases property is required if users property is provided" msgstr "" -#: heat/engine/resources/os_database.py:305 +#: heat/engine/resources/os_database.py:315 #, python-format msgid "Must provide access to at least one database for user %s" msgstr "" -#: heat/engine/resources/os_database.py:313 +#: heat/engine/resources/os_database.py:323 #, python-format msgid "Database %s specified for user does not exist in databases." msgstr "" -#: heat/engine/resources/random_string.py:40 +#: heat/engine/resources/random_string.py:63 msgid "Length of the string to generate." msgstr "" -#: heat/engine/resources/random_string.py:48 +#: heat/engine/resources/random_string.py:71 msgid "Sequence of characters to build the random string from." msgstr "" -#: heat/engine/resources/random_string.py:59 +#: heat/engine/resources/random_string.py:80 +#: heat/engine/resources/server.py:215 heat/engine/resources/volume.py:579 +#: heat/engine/resources/neutron/floatingip.py:48 +#: heat/engine/resources/neutron/loadbalancer.py:223 +#: heat/engine/resources/neutron/network_gateway.py:101 +#: heat/engine/resources/neutron/port.py:70 +#: heat/engine/resources/neutron/port.py:106 +#: heat/engine/resources/neutron/router.py:214 +#: heat/engine/resources/neutron/router.py:309 +#: heat/engine/resources/neutron/subnet.py:65 +#: heat/engine/resources/neutron/vpnservice.py:68 +#, python-format +msgid "Use property %s." +msgstr "" + +#: heat/engine/resources/random_string.py:85 +msgid "" +"A list of character class and their constraints to generate the random " +"string from." +msgstr "" + +#: heat/engine/resources/random_string.py:92 +#, python-format +msgid "" +"A character class and its corresponding %(min)s constraint to generate " +"the random string from." +msgstr "" + +#: heat/engine/resources/random_string.py:104 +msgid "" +"The minimum number of characters from this character class that will be " +"in the generated string." +msgstr "" + +#: heat/engine/resources/random_string.py:117 +msgid "" +"A list of character sequences and their constraints to generate the " +"random string from." +msgstr "" + +#: heat/engine/resources/random_string.py:124 +#, python-format +msgid "" +"A character sequence and its corresponding %(min)s constraint to generate" +" the random string from." +msgstr "" + +#: heat/engine/resources/random_string.py:130 +msgid "" +"The minimum number of characters from this sequence that will be in the " +"generated string." +msgstr "" + +#: heat/engine/resources/random_string.py:143 msgid "" "Value which can be set or changed on stack update to trigger the resource" " for replacement with a new random string . The salt value itself is " "ignored by the random generator." msgstr "" -#: heat/engine/resources/random_string.py:66 +#: heat/engine/resources/random_string.py:151 msgid "" "The random string generated by this resource. This value is also " "available by referencing the resource." msgstr "" -#: heat/engine/resources/resource_group.py:60 +#: heat/engine/resources/random_string.py:231 +#, python-format +msgid "" +"Cannot use deprecated '%(seq)s' property along with '%(char_seqs)s' or " +"'%(char_classes)s' properties" +msgstr "" + +#: heat/engine/resources/random_string.py:247 +msgid "" +"Length property cannot be smaller than combined character class and " +"character sequence minimums" +msgstr "" + +#: heat/engine/resources/resource_group.py:67 msgid "The number of instances to create." msgstr "" -#: heat/engine/resources/resource_group.py:69 +#: heat/engine/resources/resource_group.py:76 msgid "" "Resource definition for the resources in the group. The value of this " "property is the definition of a resource just as if it had been declared " "in the template itself." msgstr "" -#: heat/engine/resources/resource_group.py:75 +#: heat/engine/resources/resource_group.py:82 msgid "The type of the resources in the group" msgstr "" -#: heat/engine/resources/resource_group.py:80 +#: heat/engine/resources/resource_group.py:87 msgid "Property values for the resources in the group" msgstr "" -#: heat/engine/resources/resource_group.py:88 +#: heat/engine/resources/resource_group.py:96 msgid "A list of resource IDs for the resources in the group" msgstr "" -#: heat/engine/resources/route_table.py:44 +#: heat/engine/resources/route_table.py:41 msgid "VPC ID for where the route table is created." msgstr "" -#: heat/engine/resources/route_table.py:51 +#: heat/engine/resources/route_table.py:48 msgid "List of tags to be attached to this resource." msgstr "" -#: heat/engine/resources/route_table.py:120 +#: heat/engine/resources/route_table.py:117 msgid "Route table ID." msgstr "" -#: heat/engine/resources/route_table.py:125 +#: heat/engine/resources/route_table.py:122 msgid "Subnet ID." msgstr "" -#: heat/engine/resources/s3.py:50 +#: heat/engine/resources/s3.py:57 msgid "" "A predefined access control list (ACL) that grants permissions on the " "bucket." msgstr "" -#: heat/engine/resources/s3.py:62 +#: heat/engine/resources/s3.py:69 msgid "Information used to configure the bucket as a static website." msgstr "" -#: heat/engine/resources/s3.py:66 +#: heat/engine/resources/s3.py:73 msgid "The name of the index document." msgstr "" -#: heat/engine/resources/s3.py:70 +#: heat/engine/resources/s3.py:77 msgid "The name of the error document." msgstr "" -#: heat/engine/resources/s3.py:76 +#: heat/engine/resources/s3.py:83 msgid "Tags to attach to the bucket." msgstr "" -#: heat/engine/resources/s3.py:82 +#: heat/engine/resources/s3.py:89 msgid "The tag key name." msgstr "" -#: heat/engine/resources/s3.py:87 +#: heat/engine/resources/s3.py:94 msgid "The tag value." msgstr "" -#: heat/engine/resources/s3.py:96 +#: heat/engine/resources/s3.py:104 msgid "The DNS name of the specified bucket." msgstr "" -#: heat/engine/resources/s3.py:97 +#: heat/engine/resources/s3.py:107 msgid "The website endpoint for the specified bucket." msgstr "" -#: heat/engine/resources/s3.py:111 -#, python-format -msgid "S3Bucket create container %(container)s with headers %(headers)s" -msgstr "" - -#: heat/engine/resources/s3.py:143 -#, python-format -msgid "S3Bucket delete container %s" -msgstr "" - -#: heat/engine/resources/s3.py:148 heat/engine/resources/swift.py:130 +#: heat/engine/resources/s3.py:158 heat/engine/resources/swift.py:150 #, python-format msgid "Delete container failed: %s" msgstr "" -#: heat/engine/resources/security_group.py:70 -#: heat/engine/resources/neutron/security_group.py:117 +#: heat/engine/resources/security_group.py:67 +#: heat/engine/resources/neutron/security_group.py:114 msgid "Description of the security group." msgstr "" -#: heat/engine/resources/security_group.py:75 +#: heat/engine/resources/security_group.py:72 msgid "Physical ID of the VPC." msgstr "" -#: heat/engine/resources/security_group.py:81 +#: heat/engine/resources/security_group.py:78 msgid "List of security group ingress rules." msgstr "" -#: heat/engine/resources/security_group.py:89 +#: heat/engine/resources/security_group.py:86 msgid "List of security group egress rules." msgstr "" -#: heat/engine/resources/security_group.py:284 +#: heat/engine/resources/security_group.py:281 #, python-format msgid "Security Group \"%(group_name)s\" not found" msgstr "" -#: heat/engine/resources/server.py:91 +#: heat/engine/resources/server.py:100 msgid "Server name." msgstr "" -#: heat/engine/resources/server.py:96 +#: heat/engine/resources/server.py:105 msgid "The ID or name of the image to boot with." msgstr "" -#: heat/engine/resources/server.py:104 +#: heat/engine/resources/server.py:113 msgid "Block device mappings for this server." msgstr "" -#: heat/engine/resources/server.py:110 +#: heat/engine/resources/server.py:119 msgid "" "A device name where the volume will be attached in the system at " "/dev/device_name. This value is typically vda." msgstr "" -#: heat/engine/resources/server.py:117 +#: heat/engine/resources/server.py:126 msgid "" "The ID of the volume to boot from. Only one of volume_id or snapshot_id " "should be provided." msgstr "" -#: heat/engine/resources/server.py:123 +#: heat/engine/resources/server.py:132 msgid "The ID of the snapshot to create a volume from." msgstr "" -#: heat/engine/resources/server.py:128 +#: heat/engine/resources/server.py:137 msgid "" "The size of the volume, in GB. It is safe to leave this blank and have " "the Compute service infer the size." msgstr "" -#: heat/engine/resources/server.py:134 +#: heat/engine/resources/server.py:143 msgid "" "Indicate whether the volume should be deleted when the server is " "terminated." msgstr "" -#: heat/engine/resources/server.py:142 +#: heat/engine/resources/server.py:151 msgid "The ID or name of the flavor to boot onto." msgstr "" -#: heat/engine/resources/server.py:148 +#: heat/engine/resources/server.py:157 msgid "" "Policy on how to apply a flavor update; either by requesting a server " "resize or by replacing the entire server." msgstr "" -#: heat/engine/resources/server.py:158 +#: heat/engine/resources/server.py:167 msgid "" "Policy on how to apply an image-id update; either by requesting a server " "rebuild or by replacing the entire server" msgstr "" -#: heat/engine/resources/server.py:169 +#: heat/engine/resources/server.py:178 msgid "Name of keypair to inject into the server." msgstr "" -#: heat/engine/resources/server.py:176 +#: heat/engine/resources/server.py:185 msgid "" "Name of the administrative user to use on the server. This property will " "be removed from Juno in favor of the default cloud-init user set up for " @@ -3214,48 +3177,43 @@ msgid "" "and \"cloud-user\" for CentOS/RHEL 6.5)." msgstr "" -#: heat/engine/resources/server.py:185 +#: heat/engine/resources/server.py:194 msgid "Name of the availability zone for server placement." msgstr "" -#: heat/engine/resources/server.py:189 +#: heat/engine/resources/server.py:198 msgid "" "List of security group names or IDs. Cannot be used if neutron ports are " "associated with this server; assign security groups to the ports instead." msgstr "" -#: heat/engine/resources/server.py:196 +#: heat/engine/resources/server.py:205 msgid "" "An ordered list of nics to be added to this server, with information " "about connected networks, fixed ips, port etc." msgstr "" -#: heat/engine/resources/server.py:203 +#: heat/engine/resources/server.py:212 msgid "ID of network to create a port on." msgstr "" -#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462 -#, python-format -msgid "Use property %s." -msgstr "" - -#: heat/engine/resources/server.py:210 +#: heat/engine/resources/server.py:219 msgid "Name or ID of network to create a port on." msgstr "" -#: heat/engine/resources/server.py:214 +#: heat/engine/resources/server.py:223 msgid "Fixed IP address to specify for the port created on the requested network." msgstr "" -#: heat/engine/resources/server.py:219 +#: heat/engine/resources/server.py:228 msgid "ID of an existing port to associate with this server." msgstr "" -#: heat/engine/resources/server.py:228 +#: heat/engine/resources/server.py:237 msgid "Arbitrary key-value pairs specified by the client to help boot a server." msgstr "" -#: heat/engine/resources/server.py:233 +#: heat/engine/resources/server.py:242 msgid "" "Arbitrary key/value metadata to store for this server. Both keys and " "values must be 255 characters or less. Non-string values will be " @@ -3263,7 +3221,7 @@ msgid "" "less)." msgstr "" -#: heat/engine/resources/server.py:241 +#: heat/engine/resources/server.py:250 msgid "" "How the user_data should be formatted for the server. For HEAT_CFNTOOLS, " "the user_data is bundled as part of the heat-cfntools cloud-init boot " @@ -3273,7 +3231,7 @@ msgid "" "resources." msgstr "" -#: heat/engine/resources/server.py:255 +#: heat/engine/resources/server.py:264 msgid "" "How the server should receive the metadata required for software " "configuration. POLL_SERVER_CFN will allow calls to the cfn API action " @@ -3282,81 +3240,91 @@ msgid "" " provided keystone credentials." msgstr "" -#: heat/engine/resources/server.py:268 +#: heat/engine/resources/server.py:277 msgid "User data script to be executed by cloud-init." msgstr "" -#: heat/engine/resources/server.py:273 +#: heat/engine/resources/server.py:282 msgid "A UUID for the set of servers being requested." msgstr "" -#: heat/engine/resources/server.py:277 -msgid "value for config drive either boolean, or volume-id." +#: heat/engine/resources/server.py:286 +msgid "If True, enable config drive on the server." msgstr "" -#: heat/engine/resources/server.py:281 +#: heat/engine/resources/server.py:290 msgid "Control how the disk is partitioned when the server is created." msgstr "" -#: heat/engine/resources/server.py:289 +#: heat/engine/resources/server.py:298 msgid "" "A map of files to create/overwrite on the server upon boot. Keys are file" " names and values are the file contents." msgstr "" -#: heat/engine/resources/server.py:295 +#: heat/engine/resources/server.py:304 msgid "The administrator password for the server." msgstr "" -#: heat/engine/resources/server.py:302 +#: heat/engine/resources/server.py:312 +msgid "Name of the server." +msgstr "" + +#: heat/engine/resources/server.py:315 msgid "A dict of all server details as returned by the API." msgstr "" -#: heat/engine/resources/server.py:303 +#: heat/engine/resources/server.py:318 msgid "A dict of all network addresses with corresponding port_id." msgstr "" -#: heat/engine/resources/server.py:305 +#: heat/engine/resources/server.py:321 msgid "" "A dict of assigned network addresses of the form: {\"public\": [ip1, " "ip2...], \"private\": [ip3, ip4]}." msgstr "" -#: heat/engine/resources/server.py:307 +#: heat/engine/resources/server.py:325 msgid "" "Convenience attribute to fetch the first assigned network address, or an " "empty string if nothing has been assigned at this time. Result may not be" " predictable if the server has addresses from more than one network." msgstr "" -#: heat/engine/resources/server.py:313 +#: heat/engine/resources/server.py:331 +msgid "" +"Use the networks attribute instead of first_address. For example: " +"\"{get_attr: [, networks, , 0]}\"" +msgstr "" + +#: heat/engine/resources/server.py:337 msgid "AWS compatible instance name." msgstr "" -#: heat/engine/resources/server.py:314 +#: heat/engine/resources/server.py:340 msgid "The manually assigned alternative public IPv4 address of the server." msgstr "" -#: heat/engine/resources/server.py:316 +#: heat/engine/resources/server.py:344 msgid "The manually assigned alternative public IPv6 address of the server." msgstr "" -#: heat/engine/resources/server.py:558 +#: heat/engine/resources/server.py:547 #, python-format msgid "Creation of server %s failed." msgstr "" -#: heat/engine/resources/server.py:879 +#: heat/engine/resources/server.py:881 #, python-format msgid "Either volume_id or snapshot_id must be specified for device mapping %s" msgstr "" -#: heat/engine/resources/server.py:886 +#: heat/engine/resources/server.py:888 #, python-format msgid "Neither image nor bootable volume is specified for instance %s" msgstr "" -#: heat/engine/resources/server.py:899 +#: heat/engine/resources/server.py:901 #, python-format msgid "" "Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network " @@ -3364,7 +3332,7 @@ msgid "" "is deprecated. Use only \"%(id)s\" property." msgstr "" -#: heat/engine/resources/server.py:909 +#: heat/engine/resources/server.py:911 #, python-format msgid "" "For the server \"%(server)s\" the \"%(uuid)s\" property is set to network" @@ -3372,186 +3340,164 @@ msgid "" "property instead." msgstr "" -#: heat/engine/resources/server.py:936 +#: heat/engine/resources/server.py:937 #, python-format msgid "" "Instance metadata must not contain greater than %s entries. This is the " "maximum number allowed by your service provider" msgstr "" -#: heat/engine/resources/server.py:945 +#: heat/engine/resources/server.py:946 #, python-format msgid "The personality property may not contain greater than %s entries." msgstr "" -#: heat/engine/resources/server.py:951 +#: heat/engine/resources/server.py:952 #, python-format msgid "" "The contents of personality file \"%(path)s\" is larger than the maximum " "allowed personality file size (%(max_size)s bytes)." msgstr "" -#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037 +#: heat/engine/resources/server.py:993 heat/engine/resources/server.py:1038 #, python-format msgid "Failed to find server %s" msgstr "" -#: heat/engine/resources/server.py:994 -#, python-format -msgid "suspending server %s" -msgstr "" - -#: heat/engine/resources/server.py:1018 +#: heat/engine/resources/server.py:1019 #, python-format msgid "Suspend of server %(server)s failed with unknown status: %(status)s" msgstr "" -#: heat/engine/resources/server.py:1040 -#, python-format -msgid "resuming server %s" -msgstr "" - -#: heat/engine/resources/stack.py:41 +#: heat/engine/resources/stack.py:37 msgid "" "The URL of a template that specifies the stack to be created as a " "resource." msgstr "" -#: heat/engine/resources/stack.py:48 +#: heat/engine/resources/stack.py:44 msgid "The length of time, in minutes, to wait for the nested stack creation." msgstr "" -#: heat/engine/resources/stack.py:54 +#: heat/engine/resources/stack.py:50 msgid "The set of parameters passed to this nested stack." msgstr "" -#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111 +#: heat/engine/resources/stack.py:59 heat/engine/resources/stack.py:102 #, python-format msgid "Could not fetch remote template '%(url)s': %(exc)s" msgstr "" -#: heat/engine/resources/subnet.py:41 +#: heat/engine/resources/subnet.py:38 msgid "Availability zone in which you want the subnet." msgstr "" -#: heat/engine/resources/subnet.py:45 +#: heat/engine/resources/subnet.py:42 msgid "CIDR block to apply to subnet." msgstr "" -#: heat/engine/resources/subnet.py:50 +#: heat/engine/resources/subnet.py:47 msgid "" "Ref structure that contains the ID of the VPC on which you want to create" " the subnet." msgstr "" -#: heat/engine/resources/subnet.py:58 +#: heat/engine/resources/subnet.py:55 msgid "List of tags to attach to this resource." msgstr "" -#: heat/engine/resources/swift.py:37 +#: heat/engine/resources/swift.py:46 msgid "Name for the container. If not specified, a unique name will be generated." msgstr "" -#: heat/engine/resources/swift.py:42 +#: heat/engine/resources/swift.py:51 msgid "Specify the ACL permissions on who can read objects in the container." msgstr "" -#: heat/engine/resources/swift.py:47 +#: heat/engine/resources/swift.py:56 msgid "Specify the ACL permissions on who can write objects to the container." msgstr "" -#: heat/engine/resources/swift.py:52 +#: heat/engine/resources/swift.py:61 msgid "" "A map of user-defined meta data to associate with the container. Each key" " in the map will set the header X-Container-Meta-{key} with the " "corresponding value." msgstr "" -#: heat/engine/resources/swift.py:59 +#: heat/engine/resources/swift.py:68 msgid "" "A map of user-defined meta data to associate with the account. Each key " "in the map will set the header X-Account-Meta-{key} with the " "corresponding value." msgstr "" -#: heat/engine/resources/swift.py:67 +#: heat/engine/resources/swift.py:77 msgid "The host from the container URL." msgstr "" -#: heat/engine/resources/swift.py:68 +#: heat/engine/resources/swift.py:80 msgid "The URL of the container." msgstr "" -#: heat/engine/resources/swift.py:69 +#: heat/engine/resources/swift.py:83 msgid "The parent URL of the container." msgstr "" -#: heat/engine/resources/swift.py:70 +#: heat/engine/resources/swift.py:86 msgid "The number of objects stored in the container." msgstr "" -#: heat/engine/resources/swift.py:71 +#: heat/engine/resources/swift.py:89 msgid "The number of bytes stored in the container." msgstr "" -#: heat/engine/resources/swift.py:72 +#: heat/engine/resources/swift.py:92 msgid "A map containing all headers for the container." msgstr "" -#: heat/engine/resources/swift.py:108 -#, python-format -msgid "" -"SwiftContainer create container %(container)s with container headers " -"%(container_headers)s and account headers %(account_headers)s" -msgstr "" - -#: heat/engine/resources/swift.py:124 -#, python-format -msgid "SwiftContainer delete container %s" -msgstr "" - -#: heat/engine/resources/swift.py:149 +#: heat/engine/resources/swift.py:169 #, python-format msgid "Head container failed: %s" msgstr "" -#: heat/engine/resources/template_resource.py:68 +#: heat/engine/resources/template_resource.py:64 msgid "Only Templates with an extension of .yaml or .template are supported" msgstr "" -#: heat/engine/resources/template_resource.py:165 +#: heat/engine/resources/template_resource.py:159 #, python-format msgid "Could not fetch remote template '%(name)s': %(exc)s" msgstr "" -#: heat/engine/resources/template_resource.py:178 +#: heat/engine/resources/template_resource.py:172 #, python-format msgid "Unknown error retrieving %s" msgstr "" -#: heat/engine/resources/template_resource.py:187 +#: heat/engine/resources/template_resource.py:181 #, python-format msgid "Required property %(n)s for facade %(type)s missing in provider" msgstr "" -#: heat/engine/resources/template_resource.py:195 +#: heat/engine/resources/template_resource.py:189 #, python-format msgid "" "Property %(n)s type mismatch between facade %(type)s (%(fs_type)s) and " "provider (%(ps_type)s)" msgstr "" -#: heat/engine/resources/template_resource.py:204 +#: heat/engine/resources/template_resource.py:198 #, python-format msgid "Provider requires property %(n)s unknown in facade %(type)s" msgstr "" -#: heat/engine/resources/template_resource.py:211 +#: heat/engine/resources/template_resource.py:205 #, python-format msgid "Attribute %(attr)s for facade %(type)s missing in provider" msgstr "" -#: heat/engine/resources/template_resource.py:224 +#: heat/engine/resources/template_resource.py:218 #, python-format msgid "Failed to retrieve template data: %s" msgstr "" @@ -3564,7 +3510,7 @@ msgstr "" msgid "Access policies to apply to the user." msgstr "" -#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119 +#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:118 #, python-format msgid "Ignoring policy %s, must be string resource name" msgstr "" @@ -3574,442 +3520,446 @@ msgstr "" msgid "Policy %(policy)s does not exist in stack %(stack)s" msgstr "" -#: heat/engine/resources/user.py:93 +#: heat/engine/resources/user.py:92 #, python-format msgid "Policy %s is not an AccessPolicy resource" msgstr "" -#: heat/engine/resources/user.py:143 +#: heat/engine/resources/user.py:148 msgid "The name of the user that the new key will belong to." msgstr "" -#: heat/engine/resources/user.py:157 +#: heat/engine/resources/user.py:163 msgid "Username associated with the AccessKey." msgstr "" -#: heat/engine/resources/user.py:158 +#: heat/engine/resources/user.py:167 msgid "Keypair secret key." msgstr "" -#: heat/engine/resources/user.py:184 +#: heat/engine/resources/user.py:195 #, python-format msgid "could not find user %s" msgstr "" -#: heat/engine/resources/user.py:204 +#: heat/engine/resources/user.py:215 #, python-format msgid "Error deleting %s - user not found" msgstr "" -#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238 +#: heat/engine/resources/user.py:225 heat/engine/resources/user.py:245 #, python-format msgid "could not get secret for %(username)s Error:%(msg)s" msgstr "" -#: heat/engine/resources/user.py:269 +#: heat/engine/resources/user.py:276 msgid "" "Resources that users are allowed to access by the DescribeStackResource " "API." msgstr "" -#: heat/engine/resources/user.py:286 +#: heat/engine/resources/user.py:293 #, python-format msgid "AccessPolicy resource %s not in stack" msgstr "" -#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423 +#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:535 msgid "The availability zone in which the volume will be created." msgstr "" -#: heat/engine/resources/volume.py:54 heat/engine/resources/volume.py:427 -#: heat/engine/resources/volume.py:481 -msgid "The size of the volume in GB." +#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:539 +msgid "" +"The size of the volume in GB. On update only increase in size is " +"supported." msgstr "" -#: heat/engine/resources/volume.py:58 +#: heat/engine/resources/volume.py:64 msgid "If specified, the backup used as the source to create the volume." msgstr "" -#: heat/engine/resources/volume.py:63 +#: heat/engine/resources/volume.py:69 msgid "The list of tags to associate with the volume." msgstr "" -#: heat/engine/resources/volume.py:107 +#: heat/engine/resources/volume.py:113 msgid "Backups not supported." msgstr "" -#: heat/engine/resources/volume.py:152 +#: heat/engine/resources/volume.py:158 msgid "can not delete volume when in-use" msgstr "" -#: heat/engine/resources/volume.py:153 +#: heat/engine/resources/volume.py:159 msgid "Volume in use" msgstr "" -#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288 -#, python-format -msgid "%s - volume not found" +#: heat/engine/resources/volume.py:192 +msgid "Shrinking volume" msgstr "" -#: heat/engine/resources/volume.py:217 +#: heat/engine/resources/volume.py:243 #, python-format -msgid "Failed to attach %(vol)s to server %(srv)s" +msgid "Resizing volume %(vol)s to size %(size)i" msgstr "" -#: heat/engine/resources/volume.py:229 +#: heat/engine/resources/volume.py:259 #, python-format -msgid "%(name)s - volume status: %(status)s" +msgid "Failed to extend volume %(vol)s - %(err)s" msgstr "" -#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313 +#: heat/engine/resources/volume.py:272 +#, python-format +msgid "Resize failed: Volume %(vol)s is in %(status)s state." +msgstr "" + +#: heat/engine/resources/volume.py:276 heat/engine/resources/volume.py:327 #, python-format msgid "%s - complete" msgstr "" -#: heat/engine/resources/volume.py:254 +#: heat/engine/resources/volume.py:344 #, python-format -msgid "Removing volume %(vol)s from Instance %(srv)s" +msgid "Removing attachment %(att)s from Instance %(srv)s" msgstr "" -#: heat/engine/resources/volume.py:271 +#: heat/engine/resources/volume.py:367 heat/engine/resources/volume.py:392 #, python-format -msgid "Volume %(vol)s is not attached to server %(srv)s" +msgid "%s - volume not found" msgstr "" -#: heat/engine/resources/volume.py:278 +#: heat/engine/resources/volume.py:375 #, python-format -msgid "%s - volume still in use" +msgid "%(res)s - %(err)s" msgstr "" -#: heat/engine/resources/volume.py:282 +#: heat/engine/resources/volume.py:386 #, python-format msgid "%(name)s - status: %(status)s" msgstr "" -#: heat/engine/resources/volume.py:291 +#: heat/engine/resources/volume.py:406 #, python-format -msgid "Failed to detach %(vol)s from server %(srv)s" +msgid "Server %(srv)s still has attachment %(att)s." msgstr "" -#: heat/engine/resources/volume.py:309 +#: heat/engine/resources/volume.py:410 #, python-format -msgid "Server %(srv)s still has %(vol)s attached." +msgid "Volume %(vol)s is detached from server %(srv)s" msgstr "" -#: heat/engine/resources/volume.py:326 +#: heat/engine/resources/volume.py:424 msgid "The ID of the instance to which the volume attaches." msgstr "" -#: heat/engine/resources/volume.py:434 +#: heat/engine/resources/volume.py:548 msgid "If specified, the snapshot to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:438 +#: heat/engine/resources/volume.py:552 msgid "If specified, the backup to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:442 +#: heat/engine/resources/volume.py:556 msgid "A name used to distinguish the volume." msgstr "" -#: heat/engine/resources/volume.py:446 +#: heat/engine/resources/volume.py:561 msgid "A description of the volume." msgstr "" -#: heat/engine/resources/volume.py:450 +#: heat/engine/resources/volume.py:566 msgid "If specified, the type of volume to use, mapping to a specific backend." msgstr "" -#: heat/engine/resources/volume.py:455 +#: heat/engine/resources/volume.py:571 msgid "Key/value pairs to associate with the volume." msgstr "" -#: heat/engine/resources/volume.py:459 +#: heat/engine/resources/volume.py:576 msgid "The ID of the image to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:466 +#: heat/engine/resources/volume.py:583 msgid "If specified, the name or ID of the image to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:474 +#: heat/engine/resources/volume.py:591 msgid "If specified, the volume to use as source." msgstr "" -#: heat/engine/resources/volume.py:479 -msgid "The availability zone in which the volume is located." +#: heat/engine/resources/volume.py:597 +msgid "The availability zone in which the volume is located." msgstr "" -#: heat/engine/resources/volume.py:482 +#: heat/engine/resources/volume.py:600 +msgid "The size of the volume in GB." +msgstr "" + +#: heat/engine/resources/volume.py:603 msgid "The snapshot the volume was created from, if any." msgstr "" -#: heat/engine/resources/volume.py:483 +#: heat/engine/resources/volume.py:606 msgid "Name of the volume." msgstr "" -#: heat/engine/resources/volume.py:484 +#: heat/engine/resources/volume.py:609 msgid "Description of the volume." msgstr "" -#: heat/engine/resources/volume.py:485 +#: heat/engine/resources/volume.py:612 msgid "The type of the volume mapping to a backend, if any." msgstr "" -#: heat/engine/resources/volume.py:487 +#: heat/engine/resources/volume.py:615 msgid "Key/value pairs associated with the volume." msgstr "" -#: heat/engine/resources/volume.py:488 +#: heat/engine/resources/volume.py:618 msgid "The volume used as source, if any." msgstr "" -#: heat/engine/resources/volume.py:489 +#: heat/engine/resources/volume.py:621 msgid "The current status of the volume." msgstr "" -#: heat/engine/resources/volume.py:490 +#: heat/engine/resources/volume.py:624 msgid "The timestamp indicating volume creation." msgstr "" -#: heat/engine/resources/volume.py:491 +#: heat/engine/resources/volume.py:627 msgid "Boolean indicating if the volume can be booted or not." msgstr "" -#: heat/engine/resources/volume.py:541 +#: heat/engine/resources/volume.py:701 msgid "The ID of the server to which the volume attaches." msgstr "" -#: heat/engine/resources/volume.py:553 +#: heat/engine/resources/volume.py:713 msgid "" "The location where the volume is exposed on the instance. This assignment" " may not be honored and it is advised that the path /dev/disk/by-" "id/virtio- be used instead." msgstr "" -#: heat/engine/resources/vpc.py:42 +#: heat/engine/resources/vpc.py:39 msgid "CIDR block to apply to the VPC." msgstr "" -#: heat/engine/resources/vpc.py:46 +#: heat/engine/resources/vpc.py:43 msgid "" "Allowed tenancy of instances launched in the VPC. default - any tenancy; " "dedicated - instance will be dedicated, regardless of the tenancy option " "specified at instance launch." msgstr "" -#: heat/engine/resources/vpc.py:60 +#: heat/engine/resources/vpc.py:57 msgid "List of tags to attach to the instance." msgstr "" -#: heat/engine/resources/vpc.py:103 +#: heat/engine/resources/vpc.py:100 #, python-format msgid "Multiple routers found with name %s" msgstr "" -#: heat/engine/resources/wait_condition.py:77 +#: heat/engine/resources/wait_condition.py:86 #, python-format msgid "Overwriting Metadata item for UniqueId %s!" msgstr "" -#: heat/engine/resources/wait_condition.py:87 +#: heat/engine/resources/wait_condition.py:94 #, python-format msgid "Metadata failed validation for %s" msgstr "" -#: heat/engine/resources/wait_condition.py:88 +#: heat/engine/resources/wait_condition.py:95 msgid "Metadata format invalid" msgstr "" -#: heat/engine/resources/wait_condition.py:140 +#: heat/engine/resources/wait_condition.py:147 #, python-format msgid "%(len)d of %(count)d received - %(reasons)s" msgstr "" -#: heat/engine/resources/wait_condition.py:142 +#: heat/engine/resources/wait_condition.py:149 #, python-format msgid "%(len)d of %(count)d received" msgstr "" -#: heat/engine/resources/wait_condition.py:156 +#: heat/engine/resources/wait_condition.py:169 msgid "" "A reference to the wait condition handle used to signal this wait " "condition." msgstr "" -#: heat/engine/resources/wait_condition.py:162 +#: heat/engine/resources/wait_condition.py:175 msgid "The number of seconds to wait for the correct number of signals to arrive." msgstr "" -#: heat/engine/resources/wait_condition.py:171 +#: heat/engine/resources/wait_condition.py:184 msgid "" "The number of success signals that must be received before the stack " "creation process continues." msgstr "" -#: heat/engine/resources/wait_condition.py:182 +#: heat/engine/resources/wait_condition.py:196 msgid "" "JSON serialized dict containing data associated with wait condition " "signals sent to the handle." msgstr "" -#: heat/engine/resources/wait_condition.py:195 +#: heat/engine/resources/wait_condition.py:209 #, python-format msgid "WaitCondition invalid Handle tenant %s" msgstr "" -#: heat/engine/resources/wait_condition.py:198 -#: heat/engine/resources/wait_condition.py:201 +#: heat/engine/resources/wait_condition.py:212 +#: heat/engine/resources/wait_condition.py:215 #, python-format msgid "WaitCondition invalid Handle stack %s" msgstr "" -#: heat/engine/resources/wait_condition.py:204 -#: heat/engine/resources/wait_condition.py:208 +#: heat/engine/resources/wait_condition.py:218 +#: heat/engine/resources/wait_condition.py:222 #, python-format msgid "WaitCondition invalid Handle %s" msgstr "" -#: heat/engine/resources/wait_condition.py:222 +#: heat/engine/resources/wait_condition.py:236 #, python-format msgid "%(name)s Timed out (%(timeout)s)" msgstr "" -#: heat/engine/resources/wait_condition.py:230 +#: heat/engine/resources/wait_condition.py:244 #, python-format msgid "%(name)s Failed (%(failure)s)" msgstr "" -#: heat/engine/resources/wait_condition.py:235 +#: heat/engine/resources/wait_condition.py:249 #, python-format msgid "%s Succeeded" msgstr "" -#: heat/engine/resources/wait_condition.py:282 -#, python-format -msgid "%(name)s.GetAtt(%(key)s) == %(res)s" -msgstr "" - -#: heat/engine/resources/ceilometer/alarm.py:38 +#: heat/engine/resources/ceilometer/alarm.py:40 msgid "True if alarm evaluation/actioning is enabled." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:44 +#: heat/engine/resources/ceilometer/alarm.py:46 msgid "A list of URLs (webhooks) to invoke when state transitions to alarm." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:50 +#: heat/engine/resources/ceilometer/alarm.py:52 msgid "A list of URLs (webhooks) to invoke when state transitions to ok." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:56 +#: heat/engine/resources/ceilometer/alarm.py:58 msgid "" "A list of URLs (webhooks) to invoke when state transitions to " "insufficient-data." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:62 +#: heat/engine/resources/ceilometer/alarm.py:64 msgid "" "False to trigger actions when the threshold is reached AND the alarm's " "state has changed. By default, actions are called each time the threshold" " is reached." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:106 +#: heat/engine/resources/ceilometer/alarm.py:108 msgid "Operator used to compare specified statistic with threshold." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:120 +#: heat/engine/resources/ceilometer/alarm.py:122 msgid "Meter name watched by the alarm." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:130 +#: heat/engine/resources/ceilometer/alarm.py:132 msgid "Meter statistic to evaluate." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:145 +#: heat/engine/resources/ceilometer/alarm.py:147 msgid "" "Meter should match this resource metadata (key=value) additionally to the" " meter_name." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:211 +#: heat/engine/resources/ceilometer/alarm.py:214 msgid "List of alarm identifiers to combine." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:217 +#: heat/engine/resources/ceilometer/alarm.py:220 msgid "Operator used to combine the alarms." msgstr "" -#: heat/engine/resources/neutron/firewall.py:40 -#: heat/engine/resources/neutron/firewall.py:66 +#: heat/engine/resources/neutron/firewall.py:46 +#: heat/engine/resources/neutron/firewall.py:73 msgid "Name for the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:45 +#: heat/engine/resources/neutron/firewall.py:51 msgid "Description for the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:50 +#: heat/engine/resources/neutron/firewall.py:56 msgid "" "Administrative state of the firewall. If false (down), firewall does not " "forward packets and will drop all traffic to/from VMs behind the " "firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:58 +#: heat/engine/resources/neutron/firewall.py:64 msgid "The ID of the firewall policy that this firewall is associated with." msgstr "" -#: heat/engine/resources/neutron/firewall.py:67 +#: heat/engine/resources/neutron/firewall.py:76 msgid "Description of the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:68 +#: heat/engine/resources/neutron/firewall.py:79 msgid "The administrative state of the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:69 +#: heat/engine/resources/neutron/firewall.py:82 msgid "Unique identifier of the firewall policy used to create the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:71 +#: heat/engine/resources/neutron/firewall.py:86 msgid "The status of the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:72 -#: heat/engine/resources/neutron/firewall.py:292 +#: heat/engine/resources/neutron/firewall.py:89 +#: heat/engine/resources/neutron/firewall.py:364 msgid "Id of the tenant owning the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:73 -#: heat/engine/resources/neutron/floatingip.py:67 -#: heat/engine/resources/neutron/loadbalancer.py:117 -#: heat/engine/resources/neutron/loadbalancer.py:495 -#: heat/engine/resources/neutron/net.py:86 -#: heat/engine/resources/neutron/network_gateway.py:122 -#: heat/engine/resources/neutron/port.py:149 -#: heat/engine/resources/neutron/provider_net.py:68 -#: heat/engine/resources/neutron/router.py:98 -#: heat/engine/resources/neutron/subnet.py:149 -#: heat/engine/resources/neutron/vpnservice.py:79 +#: heat/engine/resources/neutron/firewall.py:92 +#: heat/engine/resources/neutron/floatingip.py:95 +#: heat/engine/resources/neutron/loadbalancer.py:143 +#: heat/engine/resources/neutron/loadbalancer.py:572 +#: heat/engine/resources/neutron/net.py:102 +#: heat/engine/resources/neutron/network_gateway.py:138 +#: heat/engine/resources/neutron/port.py:200 +#: heat/engine/resources/neutron/provider_net.py:79 +#: heat/engine/resources/neutron/router.py:115 +#: heat/engine/resources/neutron/subnet.py:186 +#: heat/engine/resources/neutron/vpnservice.py:109 msgid "All attributes." msgstr "" -#: heat/engine/resources/neutron/firewall.py:118 -#: heat/engine/resources/neutron/firewall.py:151 +#: heat/engine/resources/neutron/firewall.py:144 +#: heat/engine/resources/neutron/firewall.py:178 msgid "Name for the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:123 +#: heat/engine/resources/neutron/firewall.py:149 msgid "Description for the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:128 +#: heat/engine/resources/neutron/firewall.py:154 msgid "Whether this policy should be shared across all tenants." msgstr "" -#: heat/engine/resources/neutron/firewall.py:134 +#: heat/engine/resources/neutron/firewall.py:160 msgid "" "Whether this policy should be audited. When set to True, each time the " "firewall policy or the associated firewall rules are changed, this " @@ -4017,760 +3967,754 @@ msgid "" " through an update operation." msgstr "" -#: heat/engine/resources/neutron/firewall.py:144 +#: heat/engine/resources/neutron/firewall.py:170 msgid "An ordered list of firewall rules to apply to the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:152 +#: heat/engine/resources/neutron/firewall.py:181 msgid "Description of the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:153 +#: heat/engine/resources/neutron/firewall.py:184 msgid "List of firewall rules in this firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:154 +#: heat/engine/resources/neutron/firewall.py:187 msgid "Shared status of this firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:155 +#: heat/engine/resources/neutron/firewall.py:190 msgid "Audit status of this firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:156 +#: heat/engine/resources/neutron/firewall.py:193 msgid "Id of the tenant owning the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:206 -#: heat/engine/resources/neutron/firewall.py:275 +#: heat/engine/resources/neutron/firewall.py:254 +#: heat/engine/resources/neutron/firewall.py:324 msgid "Name for the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:211 +#: heat/engine/resources/neutron/firewall.py:259 msgid "Description for the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:216 +#: heat/engine/resources/neutron/firewall.py:264 msgid "Whether this rule should be shared across all tenants." msgstr "" -#: heat/engine/resources/neutron/firewall.py:222 +#: heat/engine/resources/neutron/firewall.py:270 msgid "Protocol for the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:230 +#: heat/engine/resources/neutron/firewall.py:278 msgid "Internet protocol version." msgstr "" -#: heat/engine/resources/neutron/firewall.py:239 +#: heat/engine/resources/neutron/firewall.py:287 msgid "Source IP address or CIDR." msgstr "" -#: heat/engine/resources/neutron/firewall.py:244 +#: heat/engine/resources/neutron/firewall.py:292 msgid "Destination IP address or CIDR." msgstr "" -#: heat/engine/resources/neutron/firewall.py:249 +#: heat/engine/resources/neutron/firewall.py:297 msgid "Source port number or a range." msgstr "" -#: heat/engine/resources/neutron/firewall.py:254 +#: heat/engine/resources/neutron/firewall.py:302 msgid "Destination port number or a range." msgstr "" -#: heat/engine/resources/neutron/firewall.py:259 +#: heat/engine/resources/neutron/firewall.py:307 msgid "Action to be performed on the traffic matching the rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:268 +#: heat/engine/resources/neutron/firewall.py:316 msgid "Whether this rule should be enabled." msgstr "" -#: heat/engine/resources/neutron/firewall.py:276 +#: heat/engine/resources/neutron/firewall.py:327 msgid "Description of the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:277 +#: heat/engine/resources/neutron/firewall.py:330 msgid "" "Unique identifier of the firewall policy to which this firewall rule " "belongs." msgstr "" -#: heat/engine/resources/neutron/firewall.py:279 +#: heat/engine/resources/neutron/firewall.py:334 msgid "Shared status of this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:280 +#: heat/engine/resources/neutron/firewall.py:337 msgid "Protocol value for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:281 +#: heat/engine/resources/neutron/firewall.py:340 msgid "Ip_version for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:282 +#: heat/engine/resources/neutron/firewall.py:343 msgid "Source ip_address for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:283 +#: heat/engine/resources/neutron/firewall.py:346 msgid "Destination ip_address for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:285 +#: heat/engine/resources/neutron/firewall.py:349 msgid "Source port range for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:286 +#: heat/engine/resources/neutron/firewall.py:352 msgid "Destination port range for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:288 +#: heat/engine/resources/neutron/firewall.py:355 msgid "Allow or deny action for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:289 +#: heat/engine/resources/neutron/firewall.py:358 msgid "Indicates whether this firewall rule is enabled or not." msgstr "" -#: heat/engine/resources/neutron/firewall.py:291 +#: heat/engine/resources/neutron/firewall.py:361 msgid "Position of the rule within the firewall policy." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:36 -msgid "ID of network to allocate floating IP from." +#: heat/engine/resources/neutron/floatingip.py:53 +msgid "Network to allocate floating IP from." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:41 +#: heat/engine/resources/neutron/floatingip.py:58 msgid "" "Extra parameters to include in the \"floatingip\" object in the creation " "request. Parameters are often specific to installed hardware or " "extensions." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:48 -#: heat/engine/resources/neutron/floatingip.py:114 +#: heat/engine/resources/neutron/floatingip.py:65 +#: heat/engine/resources/neutron/floatingip.py:157 msgid "" "ID of an existing port with at least one IP address to associate with " "this floating IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:53 -#: heat/engine/resources/neutron/floatingip.py:119 +#: heat/engine/resources/neutron/floatingip.py:70 +#: heat/engine/resources/neutron/floatingip.py:164 msgid "IP address to use if the port has multiple addresses." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:58 +#: heat/engine/resources/neutron/floatingip.py:76 msgid "ID of the router used as gateway, set when associated with a port." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:60 +#: heat/engine/resources/neutron/floatingip.py:80 msgid "The tenant owning this floating IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:61 +#: heat/engine/resources/neutron/floatingip.py:83 msgid "ID of the network in which this IP is allocated." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:63 +#: heat/engine/resources/neutron/floatingip.py:86 msgid "IP address of the associated port, if specified." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:65 +#: heat/engine/resources/neutron/floatingip.py:89 msgid "The allocated address of this IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:66 +#: heat/engine/resources/neutron/floatingip.py:92 msgid "ID of the port associated with this IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:109 +#: heat/engine/resources/neutron/floatingip.py:151 msgid "ID of the floating IP to associate." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:45 -#: heat/engine/resources/neutron/loadbalancer.py:103 +#: heat/engine/resources/neutron/loadbalancer.py:56 +#: heat/engine/resources/neutron/loadbalancer.py:114 msgid "The minimum time in seconds between regular connections of the member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:52 -#: heat/engine/resources/neutron/loadbalancer.py:113 +#: heat/engine/resources/neutron/loadbalancer.py:63 +#: heat/engine/resources/neutron/loadbalancer.py:133 msgid "One of predefined health monitor types." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:60 -#: heat/engine/resources/neutron/loadbalancer.py:109 +#: heat/engine/resources/neutron/loadbalancer.py:71 +#: heat/engine/resources/neutron/loadbalancer.py:125 msgid "" "Number of permissible connection failures before changing the member " "status to INACTIVE." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:67 -#: heat/engine/resources/neutron/loadbalancer.py:111 +#: heat/engine/resources/neutron/loadbalancer.py:78 +#: heat/engine/resources/neutron/loadbalancer.py:129 msgid "" "Maximum number of seconds for a monitor to wait for a connection to be " "established before it times out." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:74 +#: heat/engine/resources/neutron/loadbalancer.py:85 msgid "The administrative state of the health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:80 -#: heat/engine/resources/neutron/loadbalancer.py:107 +#: heat/engine/resources/neutron/loadbalancer.py:91 +#: heat/engine/resources/neutron/loadbalancer.py:122 msgid "The HTTP method used for requests by the monitor of type HTTP." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:86 -#: heat/engine/resources/neutron/loadbalancer.py:105 +#: heat/engine/resources/neutron/loadbalancer.py:97 +#: heat/engine/resources/neutron/loadbalancer.py:118 msgid "" "The list of HTTP status codes expected in response from the member to " "declare it healthy." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:92 -#: heat/engine/resources/neutron/loadbalancer.py:114 +#: heat/engine/resources/neutron/loadbalancer.py:103 +#: heat/engine/resources/neutron/loadbalancer.py:136 msgid "" "The HTTP path used in the HTTP request used by the monitor to test a " "member health." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:101 +#: heat/engine/resources/neutron/loadbalancer.py:111 msgid "The administrative state of this health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:116 +#: heat/engine/resources/neutron/loadbalancer.py:140 msgid "Tenant owning the health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:178 +#: heat/engine/resources/neutron/loadbalancer.py:213 msgid "Protocol for balancing." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:186 -#: heat/engine/resources/neutron/loadbalancer.py:289 +#: heat/engine/resources/neutron/loadbalancer.py:228 +#: heat/engine/resources/neutron/loadbalancer.py:336 msgid "" "The subnet for the port on which the members of the pool will be " "connected." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:192 -#: heat/engine/resources/neutron/loadbalancer.py:291 +#: heat/engine/resources/neutron/loadbalancer.py:234 +#: heat/engine/resources/neutron/loadbalancer.py:340 msgid "The algorithm used to distribute load between the members of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:203 -#: heat/engine/resources/neutron/loadbalancer.py:287 +#: heat/engine/resources/neutron/loadbalancer.py:245 +#: heat/engine/resources/neutron/loadbalancer.py:330 msgid "Name of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:207 -#: heat/engine/resources/neutron/loadbalancer.py:293 +#: heat/engine/resources/neutron/loadbalancer.py:249 +#: heat/engine/resources/neutron/loadbalancer.py:344 msgid "Description of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:212 -#: heat/engine/resources/neutron/loadbalancer.py:286 +#: heat/engine/resources/neutron/loadbalancer.py:254 +#: heat/engine/resources/neutron/loadbalancer.py:327 msgid "The administrative state of this pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:218 +#: heat/engine/resources/neutron/loadbalancer.py:260 msgid "IP address and port of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:222 +#: heat/engine/resources/neutron/loadbalancer.py:264 msgid "Name of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:226 +#: heat/engine/resources/neutron/loadbalancer.py:268 msgid "Description of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:230 +#: heat/engine/resources/neutron/loadbalancer.py:272 msgid "Subnet of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:234 +#: heat/engine/resources/neutron/loadbalancer.py:276 msgid "IP address of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:238 +#: heat/engine/resources/neutron/loadbalancer.py:280 msgid "The maximum number of connections per second allowed for the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:243 +#: heat/engine/resources/neutron/loadbalancer.py:285 msgid "" "TCP port on which to listen for client traffic that is associated with " "the vip address." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:249 +#: heat/engine/resources/neutron/loadbalancer.py:291 msgid "Configuration of session persistence." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:253 +#: heat/engine/resources/neutron/loadbalancer.py:295 msgid "Method of implementation of session persistence feature." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:262 +#: heat/engine/resources/neutron/loadbalancer.py:304 msgid "Name of the cookie, required if type is APP_COOKIE." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:269 +#: heat/engine/resources/neutron/loadbalancer.py:311 msgid "The administrative state of this vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:277 +#: heat/engine/resources/neutron/loadbalancer.py:319 msgid "List of health monitors associated with the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:288 +#: heat/engine/resources/neutron/loadbalancer.py:333 msgid "Protocol to balance." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:294 +#: heat/engine/resources/neutron/loadbalancer.py:347 msgid "Tenant owning the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:295 +#: heat/engine/resources/neutron/loadbalancer.py:350 msgid "Vip associated with the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:313 -#: heat/tests/test_neutron_loadbalancer.py:562 +#: heat/engine/resources/neutron/loadbalancer.py:370 +#: heat/tests/test_neutron_loadbalancer.py:621 msgid "" "Property cookie_name is required, when session_persistence type is set to" " APP_COOKIE." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:371 +#: heat/engine/resources/neutron/loadbalancer.py:428 #, python-format msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:376 +#: heat/engine/resources/neutron/loadbalancer.py:433 #, python-format msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:453 -#: heat/engine/resources/neutron/loadbalancer.py:492 -#: heat/engine/resources/neutron/loadbalancer.py:553 +#: heat/engine/resources/neutron/loadbalancer.py:518 +#: heat/engine/resources/neutron/loadbalancer.py:565 +#: heat/engine/resources/neutron/loadbalancer.py:629 msgid "The ID of the load balancing pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:459 +#: heat/engine/resources/neutron/loadbalancer.py:524 msgid "IP address of the pool member on the pool network." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:464 +#: heat/engine/resources/neutron/loadbalancer.py:529 +#: heat/engine/resources/neutron/loadbalancer.py:568 msgid "TCP port on which the pool member listens for requests or connections." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:473 +#: heat/engine/resources/neutron/loadbalancer.py:538 msgid "Weight of pool member in the pool (default to 1)." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:481 +#: heat/engine/resources/neutron/loadbalancer.py:546 msgid "The administrative state of the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:487 +#: heat/engine/resources/neutron/loadbalancer.py:553 msgid "The administrative state of this pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:489 +#: heat/engine/resources/neutron/loadbalancer.py:556 msgid "Tenant owning the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:490 +#: heat/engine/resources/neutron/loadbalancer.py:559 msgid "Weight of the pool member in the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:491 +#: heat/engine/resources/neutron/loadbalancer.py:562 msgid "IP address of the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:493 -msgid "TCP port on which the pool member listens forrequests or connections." -msgstr "" - -#: heat/engine/resources/neutron/loadbalancer.py:559 +#: heat/engine/resources/neutron/loadbalancer.py:635 msgid "Port number on which the servers are running on the members." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:564 +#: heat/engine/resources/neutron/loadbalancer.py:640 msgid "The list of Nova server IDs load balanced." msgstr "" -#: heat/engine/resources/neutron/metering.py:37 -#: heat/engine/resources/neutron/metering.py:46 +#: heat/engine/resources/neutron/metering.py:44 +#: heat/engine/resources/neutron/metering.py:54 msgid "Name of the metering label." msgstr "" -#: heat/engine/resources/neutron/metering.py:41 -#: heat/engine/resources/neutron/metering.py:47 +#: heat/engine/resources/neutron/metering.py:48 +#: heat/engine/resources/neutron/metering.py:57 msgid "Description of the metering label." msgstr "" -#: heat/engine/resources/neutron/metering.py:87 +#: heat/engine/resources/neutron/metering.py:106 +#: heat/engine/resources/neutron/metering.py:140 msgid "The metering label ID to associate with this metering rule." msgstr "" -#: heat/engine/resources/neutron/metering.py:92 +#: heat/engine/resources/neutron/metering.py:111 msgid "Indicates remote IP prefix to be associated with this metering rule." msgstr "" -#: heat/engine/resources/neutron/metering.py:98 +#: heat/engine/resources/neutron/metering.py:117 msgid "The direction in which metering rule is applied, either ingress or egress." msgstr "" -#: heat/engine/resources/neutron/metering.py:106 +#: heat/engine/resources/neutron/metering.py:125 msgid "" "Specify whether the remote_ip_prefix will be excluded or not from traffic" " counters of the metering label. For example to not count the traffic of " "a specific IP address of a range." msgstr "" -#: heat/engine/resources/neutron/metering.py:114 +#: heat/engine/resources/neutron/metering.py:134 msgid "The direction in which metering rule is applied." msgstr "" -#: heat/engine/resources/neutron/metering.py:115 +#: heat/engine/resources/neutron/metering.py:137 msgid "Exclude state for cidr." msgstr "" -#: heat/engine/resources/neutron/metering.py:116 -msgid "The metering label ID to associate with this metering rule.." -msgstr "" - -#: heat/engine/resources/neutron/metering.py:118 +#: heat/engine/resources/neutron/metering.py:143 msgid "CIDR to be associated with this metering rule." msgstr "" -#: heat/engine/resources/neutron/net.py:38 +#: heat/engine/resources/neutron/net.py:43 msgid "" "A string specifying a symbolic name for the network, which is not " "required to be unique." msgstr "" -#: heat/engine/resources/neutron/net.py:44 +#: heat/engine/resources/neutron/net.py:49 msgid "" "Extra parameters to include in the \"network\" object in the creation " "request. Parameters are often specific to installed hardware or " "extensions." msgstr "" -#: heat/engine/resources/neutron/net.py:52 +#: heat/engine/resources/neutron/net.py:57 msgid "A boolean value specifying the administrative status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:59 +#: heat/engine/resources/neutron/net.py:64 msgid "" "The ID of the tenant which will own the network. Only administrative " "users can set the tenant identifier; this cannot be changed using " "authorization policies." msgstr "" -#: heat/engine/resources/neutron/net.py:65 +#: heat/engine/resources/neutron/net.py:70 msgid "" "Whether this network should be shared across all tenants. Note that the " "default policy setting restricts usage of this attribute to " "administrative users only." msgstr "" -#: heat/engine/resources/neutron/net.py:73 +#: heat/engine/resources/neutron/net.py:78 msgid "" "The IDs of the DHCP agent to schedule the network. Note that the default " "policy setting in Neutron restricts usage of this property to " "administrative users only." msgstr "" -#: heat/engine/resources/neutron/net.py:81 -#: heat/engine/resources/neutron/provider_net.py:66 +#: heat/engine/resources/neutron/net.py:87 +#: heat/engine/resources/neutron/provider_net.py:73 msgid "The status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:82 +#: heat/engine/resources/neutron/net.py:90 msgid "The name of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:83 -#: heat/engine/resources/neutron/provider_net.py:67 +#: heat/engine/resources/neutron/net.py:93 +#: heat/engine/resources/neutron/provider_net.py:76 msgid "Subnets of this network." msgstr "" -#: heat/engine/resources/neutron/net.py:84 +#: heat/engine/resources/neutron/net.py:96 msgid "The administrative status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:85 +#: heat/engine/resources/neutron/net.py:99 msgid "The tenant owning this network." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:56 +#: heat/engine/resources/neutron/network_gateway.py:62 msgid "The name of the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:61 +#: heat/engine/resources/neutron/network_gateway.py:67 msgid "Device info for this network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:70 +#: heat/engine/resources/neutron/network_gateway.py:76 msgid "The device id for the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:76 +#: heat/engine/resources/neutron/network_gateway.py:82 msgid "The interface name for the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:85 +#: heat/engine/resources/neutron/network_gateway.py:91 msgid "Connection info for this network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:93 -msgid "The id of internal network to connect on the network gateway." +#: heat/engine/resources/neutron/network_gateway.py:106 +msgid "The internal network to connect on the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:100 +#: heat/engine/resources/neutron/network_gateway.py:113 msgid "L2 segmentation strategy on the external side of the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:109 +#: heat/engine/resources/neutron/network_gateway.py:122 msgid "" "The id for L2 segment on the external side of the network gateway. Must " "be specified when using vlan." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:121 +#: heat/engine/resources/neutron/network_gateway.py:135 msgid "A boolean value of default flag." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:143 +#: heat/engine/resources/neutron/network_gateway.py:160 msgid "segmentation_id must be specified for using vlan" msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:147 +#: heat/engine/resources/neutron/network_gateway.py:164 msgid "segmentation_id cannot be specified except 0 for using flat" msgstr "" -#: heat/engine/resources/neutron/neutron.py:114 +#: heat/engine/resources/neutron/neutron.py:61 +#, python-format +msgid "Either %(prop_key)s or %(depr_prop_key)s should be specified." +msgstr "" + +#: heat/engine/resources/neutron/neutron.py:124 #, python-format msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/neutron/neutron.py:123 +#: heat/engine/resources/neutron/neutron.py:133 #, python-format msgid "failed to fetch resource attributes: %s" msgstr "" -#: heat/engine/resources/neutron/port.py:53 -msgid "Network ID this port belongs to." +#: heat/engine/resources/neutron/port.py:75 +msgid "Network this port belongs to." msgstr "" -#: heat/engine/resources/neutron/port.py:58 +#: heat/engine/resources/neutron/port.py:80 msgid "A symbolic name for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:63 +#: heat/engine/resources/neutron/port.py:85 msgid "" "Extra parameters to include in the \"port\" object in the creation " "request." msgstr "" -#: heat/engine/resources/neutron/port.py:69 -#: heat/engine/resources/neutron/port.py:137 +#: heat/engine/resources/neutron/port.py:91 +#: heat/engine/resources/neutron/port.py:166 msgid "The administrative state of this port." msgstr "" -#: heat/engine/resources/neutron/port.py:75 +#: heat/engine/resources/neutron/port.py:97 msgid "Desired IPs for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:82 +#: heat/engine/resources/neutron/port.py:110 msgid "Subnet in which to allocate the IP address for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:87 +#: heat/engine/resources/neutron/port.py:115 msgid "IP address desired in the subnet for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:95 +#: heat/engine/resources/neutron/port.py:123 msgid "MAC address to give to this port." msgstr "" -#: heat/engine/resources/neutron/port.py:99 +#: heat/engine/resources/neutron/port.py:127 msgid "Device ID of this port." msgstr "" -#: heat/engine/resources/neutron/port.py:104 +#: heat/engine/resources/neutron/port.py:132 msgid "Security group IDs to associate with this port." msgstr "" -#: heat/engine/resources/neutron/port.py:110 +#: heat/engine/resources/neutron/port.py:138 msgid "Additional MAC/IP address pairs allowed to pass through the port." msgstr "" -#: heat/engine/resources/neutron/port.py:117 +#: heat/engine/resources/neutron/port.py:145 msgid "MAC address to allow through this port." msgstr "" -#: heat/engine/resources/neutron/port.py:121 +#: heat/engine/resources/neutron/port.py:149 msgid "IP address to allow through this port." msgstr "" -#: heat/engine/resources/neutron/port.py:129 +#: heat/engine/resources/neutron/port.py:157 msgid "" "Name of the network owning the port. The value is typically " "network:floatingip or network:router_interface or network:dhcp" msgstr "" -#: heat/engine/resources/neutron/port.py:138 +#: heat/engine/resources/neutron/port.py:169 msgid "Unique identifier for the device." msgstr "" -#: heat/engine/resources/neutron/port.py:139 +#: heat/engine/resources/neutron/port.py:172 msgid "Name of the network owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:140 +#: heat/engine/resources/neutron/port.py:175 msgid "Fixed IP addresses." msgstr "" -#: heat/engine/resources/neutron/port.py:141 +#: heat/engine/resources/neutron/port.py:178 msgid "MAC address of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:142 +#: heat/engine/resources/neutron/port.py:181 msgid "Friendly name of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:143 +#: heat/engine/resources/neutron/port.py:184 msgid "Unique identifier for the network owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:144 +#: heat/engine/resources/neutron/port.py:187 msgid "A list of security groups for the port." msgstr "" -#: heat/engine/resources/neutron/port.py:145 +#: heat/engine/resources/neutron/port.py:190 msgid "The status of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:146 +#: heat/engine/resources/neutron/port.py:193 msgid "Tenant owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:147 +#: heat/engine/resources/neutron/port.py:196 msgid "Additional MAC/IP address pairs allowed to pass through a port." msgstr "" -#: heat/engine/resources/neutron/port.py:227 -#, python-format -msgid "updating port with %s" -msgstr "" - -#: heat/engine/resources/neutron/provider_net.py:33 +#: heat/engine/resources/neutron/provider_net.py:41 msgid "A string specifying the provider network type for the network." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:43 +#: heat/engine/resources/neutron/provider_net.py:51 msgid "A string specifying physical network mapping for the network." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:50 +#: heat/engine/resources/neutron/provider_net.py:58 msgid "A string specifying the segmentation id for the network." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:57 +#: heat/engine/resources/neutron/provider_net.py:65 msgid "Whether this network should be shared across all tenants." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:80 +#: heat/engine/resources/neutron/provider_net.py:92 msgid "segmentation_id not allowed for flat network type." msgstr "" -#: heat/engine/resources/neutron/router.py:48 +#: heat/engine/resources/neutron/router.py:54 msgid "The name of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:53 +#: heat/engine/resources/neutron/router.py:59 msgid "External network gateway configuration for a router." msgstr "" -#: heat/engine/resources/neutron/router.py:57 +#: heat/engine/resources/neutron/router.py:63 msgid "ID or name of the external network for the gateway." msgstr "" -#: heat/engine/resources/neutron/router.py:63 +#: heat/engine/resources/neutron/router.py:69 msgid "" "Enables Source NAT on the router gateway. NOTE: The default policy " "setting in Neutron restricts usage of this property to administrative " "users only." msgstr "" -#: heat/engine/resources/neutron/router.py:73 -#: heat/engine/resources/neutron/subnet.py:63 +#: heat/engine/resources/neutron/router.py:79 +#: heat/engine/resources/neutron/subnet.py:80 msgid "Extra parameters to include in the creation request." msgstr "" -#: heat/engine/resources/neutron/router.py:79 +#: heat/engine/resources/neutron/router.py:85 msgid "The administrative state of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:85 +#: heat/engine/resources/neutron/router.py:91 msgid "" "ID of the L3 agent. NOTE: The default policy setting in Neutron restricts" " usage of this property to administrative users only." msgstr "" -#: heat/engine/resources/neutron/router.py:93 +#: heat/engine/resources/neutron/router.py:100 msgid "The status of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:94 +#: heat/engine/resources/neutron/router.py:103 msgid "Gateway network for the router." msgstr "" -#: heat/engine/resources/neutron/router.py:95 +#: heat/engine/resources/neutron/router.py:106 msgid "Friendly name of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:96 +#: heat/engine/resources/neutron/router.py:109 msgid "Administrative state of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:97 +#: heat/engine/resources/neutron/router.py:112 msgid "Tenant owning the router." msgstr "" -#: heat/engine/resources/neutron/router.py:190 +#: heat/engine/resources/neutron/router.py:207 msgid "The router id." msgstr "" -#: heat/engine/resources/neutron/router.py:195 -msgid "The subnet id, either subnet_id or port_id should be specified." +#: heat/engine/resources/neutron/router.py:218 +msgid "The subnet, either subnet or port_id should be specified." msgstr "" -#: heat/engine/resources/neutron/router.py:200 -msgid "The port id, either subnet_id or port_id should be specified." +#: heat/engine/resources/neutron/router.py:223 +msgid "The port id, either subnet or port_id should be specified." msgstr "" -#: heat/engine/resources/neutron/router.py:250 +#: heat/engine/resources/neutron/router.py:288 msgid "" "RouterGateway resource is deprecated and should not be used. Instead use " "the `external_gateway_info` property in the router resource to set up the" " gateway." msgstr "" -#: heat/engine/resources/neutron/router.py:264 +#: heat/engine/resources/neutron/router.py:302 msgid "ID of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:269 -msgid "ID of the external network for the gateway." +#: heat/engine/resources/neutron/router.py:314 +msgid "external network for the gateway." msgstr "" -#: heat/engine/resources/neutron/security_group.py:48 +#: heat/engine/resources/neutron/security_group.py:45 msgid "" "The direction in which the security group rule is applied. For a compute " "instance, an ingress security group rule matches traffic that is incoming" @@ -4778,11 +4722,11 @@ msgid "" "leaving the instance." msgstr "" -#: heat/engine/resources/neutron/security_group.py:60 +#: heat/engine/resources/neutron/security_group.py:57 msgid "Ethertype of the traffic." msgstr "" -#: heat/engine/resources/neutron/security_group.py:68 +#: heat/engine/resources/neutron/security_group.py:65 msgid "" "The minimum port number in the range that is matched by the security " "group rule. If the protocol is TCP or UDP, this value must be less than " @@ -4790,469 +4734,469 @@ msgid "" " ICMP, this value must be an ICMP type." msgstr "" -#: heat/engine/resources/neutron/security_group.py:76 +#: heat/engine/resources/neutron/security_group.py:73 msgid "" "The maximum port number in the range that is matched by the security " "group rule. The port_range_min attribute constrains the port_range_max " "attribute. If the protocol is ICMP, this value must be an ICMP type." msgstr "" -#: heat/engine/resources/neutron/security_group.py:83 +#: heat/engine/resources/neutron/security_group.py:80 msgid "" "The protocol that is matched by the security group rule. Valid values " "include tcp, udp, and icmp." msgstr "" -#: heat/engine/resources/neutron/security_group.py:88 +#: heat/engine/resources/neutron/security_group.py:85 msgid "Whether to specify a remote group or a remote IP prefix." msgstr "" -#: heat/engine/resources/neutron/security_group.py:97 +#: heat/engine/resources/neutron/security_group.py:94 msgid "" "The remote group ID to be associated with this security group rule. If no" " value is specified then this rule will use this security group for the " "remote_group_id." msgstr "" -#: heat/engine/resources/neutron/security_group.py:103 +#: heat/engine/resources/neutron/security_group.py:100 msgid "" "The remote IP prefix (CIDR) to be associated with this security group " "rule." msgstr "" -#: heat/engine/resources/neutron/security_group.py:111 +#: heat/engine/resources/neutron/security_group.py:108 msgid "" "A string specifying a symbolic name for the security group, which is not " "required to be unique." msgstr "" -#: heat/engine/resources/neutron/security_group.py:122 +#: heat/engine/resources/neutron/security_group.py:119 msgid "List of security group rules." msgstr "" -#: heat/engine/resources/neutron/security_group.py:142 +#: heat/engine/resources/neutron/security_group.py:137 msgid "Security groups cannot be assigned the name \"default\"." msgstr "" -#: heat/engine/resources/neutron/subnet.py:53 +#: heat/engine/resources/neutron/subnet.py:70 msgid "The ID of the attached network." msgstr "" -#: heat/engine/resources/neutron/subnet.py:58 +#: heat/engine/resources/neutron/subnet.py:75 msgid "The CIDR." msgstr "" -#: heat/engine/resources/neutron/subnet.py:69 +#: heat/engine/resources/neutron/subnet.py:86 msgid "The name of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:74 +#: heat/engine/resources/neutron/subnet.py:91 msgid "The IP version, which is 4 or 6." msgstr "" -#: heat/engine/resources/neutron/subnet.py:82 +#: heat/engine/resources/neutron/subnet.py:99 msgid "A specified set of DNS name servers to be used." msgstr "" -#: heat/engine/resources/neutron/subnet.py:88 +#: heat/engine/resources/neutron/subnet.py:105 msgid "The gateway IP address." msgstr "" -#: heat/engine/resources/neutron/subnet.py:93 +#: heat/engine/resources/neutron/subnet.py:110 msgid "Set to true if DHCP is enabled and false if DHCP is disabled." msgstr "" -#: heat/engine/resources/neutron/subnet.py:99 +#: heat/engine/resources/neutron/subnet.py:116 msgid "The start and end addresses for the allocation pools." msgstr "" -#: heat/engine/resources/neutron/subnet.py:116 +#: heat/engine/resources/neutron/subnet.py:133 msgid "" "The ID of the tenant who owns the network. Only administrative users can " "specify a tenant ID other than their own." msgstr "" -#: heat/engine/resources/neutron/subnet.py:138 +#: heat/engine/resources/neutron/subnet.py:156 msgid "Friendly name of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:139 +#: heat/engine/resources/neutron/subnet.py:159 msgid "Parent network of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:140 +#: heat/engine/resources/neutron/subnet.py:162 msgid "Tenant owning the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:141 +#: heat/engine/resources/neutron/subnet.py:165 msgid "Ip allocation pools and their ranges." msgstr "" -#: heat/engine/resources/neutron/subnet.py:142 +#: heat/engine/resources/neutron/subnet.py:168 msgid "Ip of the subnet's gateway." msgstr "" -#: heat/engine/resources/neutron/subnet.py:143 +#: heat/engine/resources/neutron/subnet.py:171 msgid "Additional routes for this subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:144 +#: heat/engine/resources/neutron/subnet.py:174 msgid "Ip version for the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:145 +#: heat/engine/resources/neutron/subnet.py:177 msgid "CIDR block notation for this subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:146 +#: heat/engine/resources/neutron/subnet.py:180 msgid "List of dns nameservers." msgstr "" -#: heat/engine/resources/neutron/subnet.py:147 +#: heat/engine/resources/neutron/subnet.py:183 msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:40 +#: heat/engine/resources/neutron/vpnservice.py:50 msgid "Name for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:45 +#: heat/engine/resources/neutron/vpnservice.py:55 msgid "Description for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:50 +#: heat/engine/resources/neutron/vpnservice.py:60 msgid "Administrative state for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:56 -msgid "Unique identifier for the subnet in which the vpn service will be created." +#: heat/engine/resources/neutron/vpnservice.py:73 +msgid "Subnet in which the vpn service will be created." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:62 +#: heat/engine/resources/neutron/vpnservice.py:78 msgid "" "Unique identifier for the router to which the vpn service will be " "inserted." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:69 +#: heat/engine/resources/neutron/vpnservice.py:86 msgid "The administrative state of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:70 +#: heat/engine/resources/neutron/vpnservice.py:89 msgid "The description of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:71 +#: heat/engine/resources/neutron/vpnservice.py:92 msgid "The name of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:72 +#: heat/engine/resources/neutron/vpnservice.py:95 msgid "The unique identifier of the router to which the vpn service was inserted." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:74 +#: heat/engine/resources/neutron/vpnservice.py:99 msgid "The status of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:75 +#: heat/engine/resources/neutron/vpnservice.py:102 msgid "The unique identifier of the subnet in which the vpn service was created." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:77 +#: heat/engine/resources/neutron/vpnservice.py:106 msgid "The unique identifier of the tenant owning the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:134 +#: heat/engine/resources/neutron/vpnservice.py:183 msgid "Name for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:139 +#: heat/engine/resources/neutron/vpnservice.py:188 msgid "Description for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:144 +#: heat/engine/resources/neutron/vpnservice.py:193 msgid "Remote branch router public IPv4 address or IPv6 address or FQDN." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:150 +#: heat/engine/resources/neutron/vpnservice.py:199 msgid "Remote branch router identity." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:155 +#: heat/engine/resources/neutron/vpnservice.py:204 msgid "Remote subnet(s) in CIDR format." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:160 +#: heat/engine/resources/neutron/vpnservice.py:209 msgid "Maximum transmission unit size (in bytes) for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:166 +#: heat/engine/resources/neutron/vpnservice.py:215 msgid "Dead Peer Detection protocol configuration for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:171 +#: heat/engine/resources/neutron/vpnservice.py:220 msgid "Controls DPD protocol mode." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:181 +#: heat/engine/resources/neutron/vpnservice.py:230 msgid "Number of seconds for the DPD delay." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:186 +#: heat/engine/resources/neutron/vpnservice.py:235 msgid "Number of seconds for the DPD timeout." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:193 +#: heat/engine/resources/neutron/vpnservice.py:242 msgid "Pre-shared key string for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:198 +#: heat/engine/resources/neutron/vpnservice.py:247 msgid "Initiator state in lowercase for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:206 +#: heat/engine/resources/neutron/vpnservice.py:255 msgid "Administrative state for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:212 +#: heat/engine/resources/neutron/vpnservice.py:261 msgid "" "Unique identifier for the ike policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:218 +#: heat/engine/resources/neutron/vpnservice.py:267 msgid "" "Unique identifier for the ipsec policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:224 +#: heat/engine/resources/neutron/vpnservice.py:273 msgid "" "Unique identifier for the vpn service associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:231 +#: heat/engine/resources/neutron/vpnservice.py:281 msgid "The administrative state of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:233 +#: heat/engine/resources/neutron/vpnservice.py:284 msgid "The authentication mode of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:235 +#: heat/engine/resources/neutron/vpnservice.py:287 msgid "The description of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:236 +#: heat/engine/resources/neutron/vpnservice.py:290 msgid "" "The dead peer detection protocol configuration of the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:238 +#: heat/engine/resources/neutron/vpnservice.py:294 msgid "" "The unique identifier of ike policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:240 +#: heat/engine/resources/neutron/vpnservice.py:298 msgid "The initiator of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:241 +#: heat/engine/resources/neutron/vpnservice.py:301 msgid "" "The unique identifier of ipsec policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:243 +#: heat/engine/resources/neutron/vpnservice.py:305 msgid "" "The maximum transmission unit size (in bytes) of the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:245 +#: heat/engine/resources/neutron/vpnservice.py:309 msgid "The name of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:246 +#: heat/engine/resources/neutron/vpnservice.py:312 msgid "The remote branch router public IPv4 address or IPv6 address or FQDN." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:248 +#: heat/engine/resources/neutron/vpnservice.py:316 msgid "The remote subnet(s) in CIDR format of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:250 +#: heat/engine/resources/neutron/vpnservice.py:320 msgid "The remote branch router identity of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:252 +#: heat/engine/resources/neutron/vpnservice.py:324 msgid "The pre-shared key string of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:253 +#: heat/engine/resources/neutron/vpnservice.py:327 msgid "The route mode of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:254 +#: heat/engine/resources/neutron/vpnservice.py:330 msgid "The status of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:255 +#: heat/engine/resources/neutron/vpnservice.py:333 msgid "The unique identifier of the tenant owning the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:257 +#: heat/engine/resources/neutron/vpnservice.py:337 msgid "" "The unique identifier of vpn service associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:312 +#: heat/engine/resources/neutron/vpnservice.py:401 msgid "Name for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:317 +#: heat/engine/resources/neutron/vpnservice.py:406 msgid "Description for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:322 +#: heat/engine/resources/neutron/vpnservice.py:411 msgid "Authentication hash algorithm for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:330 +#: heat/engine/resources/neutron/vpnservice.py:419 msgid "Encryption algorithm for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:339 +#: heat/engine/resources/neutron/vpnservice.py:428 msgid "Negotiation mode for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:347 +#: heat/engine/resources/neutron/vpnservice.py:436 msgid "Safety assessment lifetime configuration for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:351 -#: heat/engine/resources/neutron/vpnservice.py:498 +#: heat/engine/resources/neutron/vpnservice.py:440 +#: heat/engine/resources/neutron/vpnservice.py:609 msgid "Safety assessment lifetime units." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:359 -#: heat/engine/resources/neutron/vpnservice.py:507 +#: heat/engine/resources/neutron/vpnservice.py:448 +#: heat/engine/resources/neutron/vpnservice.py:618 msgid "Safety assessment lifetime value in specified units." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:367 +#: heat/engine/resources/neutron/vpnservice.py:456 msgid "Perfect forward secrecy in lowercase for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:375 +#: heat/engine/resources/neutron/vpnservice.py:464 msgid "Version for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:384 +#: heat/engine/resources/neutron/vpnservice.py:474 msgid "The authentication hash algorithm used by the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:386 +#: heat/engine/resources/neutron/vpnservice.py:477 msgid "The description of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:387 +#: heat/engine/resources/neutron/vpnservice.py:480 msgid "The encryption algorithm used by the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:389 +#: heat/engine/resources/neutron/vpnservice.py:483 msgid "The version of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:390 +#: heat/engine/resources/neutron/vpnservice.py:486 msgid "The safety assessment lifetime configuration for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:392 +#: heat/engine/resources/neutron/vpnservice.py:490 msgid "The name of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:393 +#: heat/engine/resources/neutron/vpnservice.py:493 msgid "The perfect forward secrecy of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:394 +#: heat/engine/resources/neutron/vpnservice.py:496 msgid "The negotiation mode of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:396 +#: heat/engine/resources/neutron/vpnservice.py:499 msgid "The unique identifier of the tenant owning the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:450 +#: heat/engine/resources/neutron/vpnservice.py:561 msgid "Name for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:455 +#: heat/engine/resources/neutron/vpnservice.py:566 msgid "Description for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:460 +#: heat/engine/resources/neutron/vpnservice.py:571 msgid "Transform protocol for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:468 +#: heat/engine/resources/neutron/vpnservice.py:579 msgid "Encapsulation mode for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:476 +#: heat/engine/resources/neutron/vpnservice.py:587 msgid "Authentication hash algorithm for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:484 +#: heat/engine/resources/neutron/vpnservice.py:595 msgid "Encryption algorithm for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:493 +#: heat/engine/resources/neutron/vpnservice.py:604 msgid "Safety assessment lifetime configuration for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:515 +#: heat/engine/resources/neutron/vpnservice.py:626 msgid "Perfect forward secrecy for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:524 +#: heat/engine/resources/neutron/vpnservice.py:636 msgid "The authentication hash algorithm of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:526 +#: heat/engine/resources/neutron/vpnservice.py:639 msgid "The description of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:527 +#: heat/engine/resources/neutron/vpnservice.py:642 msgid "The encapsulation mode of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:528 +#: heat/engine/resources/neutron/vpnservice.py:645 msgid "The encryption algorithm of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:530 +#: heat/engine/resources/neutron/vpnservice.py:648 msgid "The safety assessment lifetime configuration of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:532 +#: heat/engine/resources/neutron/vpnservice.py:652 msgid "The name of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:533 +#: heat/engine/resources/neutron/vpnservice.py:655 msgid "The perfect forward secrecy of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:534 +#: heat/engine/resources/neutron/vpnservice.py:658 msgid "The unique identifier of the tenant owning the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:536 +#: heat/engine/resources/neutron/vpnservice.py:661 msgid "The transform protocol of the ipsec policy." msgstr "" @@ -5284,76 +5228,71 @@ msgstr "" msgid "Optional subtype to specify with the type." msgstr "" -#: heat/engine/resources/software_config/software_config.py:63 +#: heat/engine/resources/software_config/software_config.py:70 msgid "Name of the input." msgstr "" -#: heat/engine/resources/software_config/software_config.py:68 +#: heat/engine/resources/software_config/software_config.py:75 msgid "Description of the input." msgstr "" -#: heat/engine/resources/software_config/software_config.py:72 +#: heat/engine/resources/software_config/software_config.py:79 msgid "Type of the value of the input." msgstr "" -#: heat/engine/resources/software_config/software_config.py:79 +#: heat/engine/resources/software_config/software_config.py:86 msgid "Default value for the input if none is specified." msgstr "" -#: heat/engine/resources/software_config/software_config.py:86 +#: heat/engine/resources/software_config/software_config.py:93 msgid "Name of the output." msgstr "" -#: heat/engine/resources/software_config/software_config.py:91 +#: heat/engine/resources/software_config/software_config.py:98 msgid "Description of the output." msgstr "" -#: heat/engine/resources/software_config/software_config.py:95 +#: heat/engine/resources/software_config/software_config.py:102 msgid "Type of the value of the output." msgstr "" -#: heat/engine/resources/software_config/software_config.py:102 +#: heat/engine/resources/software_config/software_config.py:109 msgid "" "Denotes that the deployment is in an error state if this output has a " "value." msgstr "" -#: heat/engine/resources/software_config/software_config.py:111 +#: heat/engine/resources/software_config/software_config.py:118 msgid "" "Namespace to group this software config by when delivered to a server. " "This may imply what configuration tool is going to perform the " "configuration." msgstr "" -#: heat/engine/resources/software_config/software_config.py:118 +#: heat/engine/resources/software_config/software_config.py:125 msgid "" "Configuration script or manifest which specifies what actual " "configuration is performed." msgstr "" -#: heat/engine/resources/software_config/software_config.py:123 +#: heat/engine/resources/software_config/software_config.py:130 msgid "" "Map containing options specific to the configuration management tool used" " by this resource." msgstr "" -#: heat/engine/resources/software_config/software_config.py:128 +#: heat/engine/resources/software_config/software_config.py:135 msgid "Schema representing the inputs that this software config is expecting." msgstr "" -#: heat/engine/resources/software_config/software_config.py:135 +#: heat/engine/resources/software_config/software_config.py:142 msgid "Schema representing the outputs that this software config will produce." msgstr "" -#: heat/engine/resources/software_config/software_config.py:143 +#: heat/engine/resources/software_config/software_config.py:151 msgid "The config value of the software config." msgstr "" -#: heat/engine/resources/software_config/software_config.py:162 -#, python-format -msgid "Software config %s is not found." -msgstr "" - #: heat/engine/resources/software_config/software_deployment.py:108 msgid "" "ID of software configuration resource to execute when applying to the " @@ -5388,80 +5327,87 @@ msgid "" "going to the COMPLETE state without waiting for any signal." msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:152 +#: heat/engine/resources/software_config/software_deployment.py:153 msgid "Captured stdout from the configuration execution." msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:153 +#: heat/engine/resources/software_config/software_deployment.py:156 msgid "Captured stderr from the configuration execution." msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:154 +#: heat/engine/resources/software_config/software_deployment.py:159 msgid "Returned status code from the configuration execution" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:182 +#: heat/engine/resources/software_config/software_deployment.py:185 msgid "Not waiting for outputs signal" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:185 +#: heat/engine/resources/software_config/software_deployment.py:188 msgid "Deploy data available" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:237 +#: heat/engine/resources/software_config/software_deployment.py:240 #, python-format msgid "Deployment to server failed: %s" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:287 +#: heat/engine/resources/software_config/software_deployment.py:290 msgid "ID of the server being deployed to" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:292 +#: heat/engine/resources/software_config/software_deployment.py:295 msgid "Name of the current action being deployed" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:297 +#: heat/engine/resources/software_config/software_deployment.py:300 msgid "ID of the stack this deployment belongs to" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:302 +#: heat/engine/resources/software_config/software_deployment.py:305 msgid "Name of this deployment resource in the stack" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:310 +#: heat/engine/resources/software_config/software_deployment.py:313 msgid "ID of signal to use for signalling output values" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:318 +#: heat/engine/resources/software_config/software_deployment.py:321 msgid "URL for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:323 +#: heat/engine/resources/software_config/software_deployment.py:326 msgid "Username for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:328 +#: heat/engine/resources/software_config/software_deployment.py:331 msgid "User ID for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:333 +#: heat/engine/resources/software_config/software_deployment.py:336 msgid "Password for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:338 +#: heat/engine/resources/software_config/software_deployment.py:341 msgid "ID of project for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:446 +#: heat/engine/resources/software_config/software_deployment.py:440 #, python-format msgid "Deployment exited with non-zero status code: %s" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:468 +#: heat/engine/resources/software_config/software_deployment.py:462 msgid "Outputs received" msgstr "" +#: heat/engine/resources/software_config/software_deployment.py:493 +#, python-format +msgid "" +"Resource %s's property user_data_format should be set to SOFTWARE_CONFIG " +"since there are software deployments on it." +msgstr "" + #: heat/engine/resources/software_config/structured_config.py:53 msgid "" "Map representing the configuration data structure which will be " @@ -5472,11 +5418,11 @@ msgstr "" msgid "Name of key to use for substituting inputs during deployment" msgstr "" -#: heat/openstack/common/gettextutils.py:271 +#: heat/openstack/common/gettextutils.py:320 msgid "Message objects do not support addition." msgstr "" -#: heat/openstack/common/gettextutils.py:281 +#: heat/openstack/common/gettextutils.py:330 msgid "" "Message objects do not support str() because they may contain non-ascii " "characters. Please use unicode() or translate() instead." @@ -5492,89 +5438,86 @@ msgstr "" msgid "Deprecated: %s" msgstr "" -#: heat/openstack/common/log.py:438 +#: heat/openstack/common/log.py:436 #, python-format msgid "Error loading logging config %(log_config)s: %(err_msg)s" msgstr "" -#: heat/openstack/common/log.py:489 +#: heat/openstack/common/log.py:486 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: heat/openstack/common/log.py:710 +#: heat/openstack/common/log.py:729 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" #: heat/openstack/common/policy.py:96 -msgid "JSON file containing policy" +msgid "The JSON file that defines policies." msgstr "" #: heat/openstack/common/policy.py:99 -msgid "Rule enforced when requested rule is not found" +msgid "Default rule. Enforced when a requested rule is not found." msgstr "" -#: heat/openstack/common/policy.py:113 +#: heat/openstack/common/policy.py:114 #, python-format msgid "Policy doesn't allow %s to be performed." msgstr "" -#: heat/openstack/common/policy.py:207 +#: heat/openstack/common/policy.py:208 #, python-format msgid "Rules must be an instance of dict or Rules, got %s instead" msgstr "" -#: heat/openstack/common/processutils.py:131 +#: heat/openstack/common/processutils.py:58 +msgid "Unexpected error while running command." +msgstr "" + +#: heat/openstack/common/processutils.py:61 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: heat/openstack/common/processutils.py:143 #, python-format msgid "Got unknown keyword args to utils.execute: %r" msgstr "" -#: heat/openstack/common/processutils.py:146 -#, python-format -msgid "Running cmd (subprocess): %s" +#: heat/openstack/common/processutils.py:149 +msgid "Command requested root, but did not specify a root helper." msgstr "" -#: heat/openstack/common/processutils.py:170 -#: heat/openstack/common/processutils.py:242 -#, python-format -msgid "Result was %s" -msgstr "" - -#: heat/openstack/common/processutils.py:182 -#, python-format -msgid "%r failed. Retrying." -msgstr "" - -#: heat/openstack/common/processutils.py:221 -#, python-format -msgid "Running cmd (SSH): %s" -msgstr "" - -#: heat/openstack/common/processutils.py:223 +#: heat/openstack/common/processutils.py:246 msgid "Environment not supported over SSH" msgstr "" -#: heat/openstack/common/processutils.py:227 +#: heat/openstack/common/processutils.py:250 msgid "process_input not supported over SSH" msgstr "" -#: heat/openstack/common/sslutils.py:50 +#: heat/openstack/common/sslutils.py:47 #, python-format msgid "Unable to find cert_file : %s" msgstr "" -#: heat/openstack/common/sslutils.py:53 +#: heat/openstack/common/sslutils.py:50 #, python-format msgid "Unable to find ca_file : %s" msgstr "" -#: heat/openstack/common/sslutils.py:56 +#: heat/openstack/common/sslutils.py:53 #, python-format msgid "Unable to find key_file : %s" msgstr "" -#: heat/openstack/common/sslutils.py:98 +#: heat/openstack/common/sslutils.py:95 #, python-format msgid "Invalid SSL version : %s" msgstr "" @@ -5594,30 +5537,30 @@ msgstr "" msgid "Invalid string format: %s" msgstr "" -#: heat/openstack/common/versionutils.py:69 +#: heat/openstack/common/versionutils.py:70 #, python-format msgid "" "%(what)s is deprecated as of %(as_of)s in favor of %(in_favor_of)s and " "may be removed in %(remove_in)s." msgstr "" -#: heat/openstack/common/versionutils.py:73 +#: heat/openstack/common/versionutils.py:74 #, python-format msgid "" "%(what)s is deprecated as of %(as_of)s and may be removed in " "%(remove_in)s. It will not be superseded." msgstr "" -#: heat/openstack/common/crypto/utils.py:27 +#: heat/openstack/common/crypto/utils.py:30 msgid "An unknown error occurred in crypto utils." msgstr "" -#: heat/openstack/common/crypto/utils.py:34 +#: heat/openstack/common/crypto/utils.py:37 #, python-format msgid "Block size of %(given)d is too big, max = %(maximum)d" msgstr "" -#: heat/openstack/common/crypto/utils.py:43 +#: heat/openstack/common/crypto/utils.py:46 #, python-format msgid "Length of %(given)d is too long, max = %(maximum)d" msgstr "" @@ -5690,184 +5633,32 @@ msgstr "" msgid "Unsupported id columns type" msgstr "" -#: heat/openstack/common/notifier/api.py:129 -#, python-format -msgid "%s not in valid priorities" -msgstr "" - -#: heat/openstack/common/notifier/list_notifier.py:113 -#, python-format -msgid "Problem '%(e)s' attempting to send to notification driver %(driver)s." -msgstr "" - -#: heat/openstack/common/notifier/rabbit_notifier.py:28 -msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:202 -#, python-format -msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s" -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:205 -#, python-format -msgid "_call_waiters: %s" -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:212 -#, python-format -msgid "" -"Number of call waiters is greater than warning threshold: %d. There could" -" be a MulticallProxyWaiter leak." -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:443 -#, python-format -msgid "no method for message: %s" -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:444 -#, python-format -msgid "No method for message: %s" -msgstr "" - -#: heat/openstack/common/rpc/common.py:76 -msgid "An unknown RPC related exception occurred." -msgstr "" - -#: heat/openstack/common/rpc/common.py:106 -#, python-format -msgid "" -"Remote error: %(exc_type)s %(value)s\n" -"%(traceback)s." -msgstr "" - -#: heat/openstack/common/rpc/common.py:123 -#, python-format -msgid "" -"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:" -" \"%(method)s\" info: \"%(info)s\"" -msgstr "" - -#: heat/openstack/common/rpc/common.py:140 -#: heat/openstack/common/rpc/common.py:141 -#: heat/openstack/common/rpc/common.py:142 -msgid "" -msgstr "" - -#: heat/openstack/common/rpc/common.py:146 -#, python-format -msgid "Found duplicate message(%(msg_id)s). Skipping it." -msgstr "" - -#: heat/openstack/common/rpc/common.py:150 -msgid "Invalid reuse of an RPC connection." -msgstr "" - -#: heat/openstack/common/rpc/common.py:154 -#, python-format -msgid "Specified RPC version, %(version)s, not supported by this endpoint." -msgstr "" - -#: heat/openstack/common/rpc/common.py:159 -#, python-format -msgid "" -"Specified RPC envelope version, %(version)s, not supported by this " -"endpoint." -msgstr "" - -#: heat/openstack/common/rpc/common.py:164 -#, python-format -msgid "Specified RPC version cap, %(version_cap)s, is too low" -msgstr "" - -#: heat/openstack/common/rpc/impl_kombu.py:557 -#, python-format -msgid "" -"Unable to connect to AMQP server on %(hostname)s:%(port)d after " -"%(max_retries)d tries: %(err_str)s" -msgstr "" - -#: heat/openstack/common/rpc/impl_qpid.py:87 -#, python-format -msgid "Invalid value for qpid_topology_version: %d" -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:146 -msgid "Could not open socket." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:200 -msgid "You cannot recv on this socket." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:205 -msgid "You cannot send on this socket." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:444 -msgid "Topic contained dangerous characters." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:692 -msgid "Unsupported or unknown ZMQ envelope returned." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:699 -msgid "RPC Message Invalid." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:729 -msgid "No matchmaker results. Not casting." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:732 -msgid "No match from matchmaker." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:814 -#, python-format -msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead" -msgstr "" - -#: heat/openstack/common/rpc/matchmaker.py:46 -msgid "Match not found by MatchMaker." -msgstr "" - -#: heat/openstack/common/rpc/matchmaker.py:80 -msgid "Matchmaker does not implement registration or heartbeat." -msgstr "" - -#: heat/openstack/common/rpc/matchmaker.py:228 -msgid "Register before starting heartbeat." -msgstr "" - -#: heat/tests/generic_resource.py:32 +#: heat/tests/generic_resource.py:33 #, python-format msgid "Creating generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:36 +#: heat/tests/generic_resource.py:37 #, python-format msgid "Updating generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:40 +#: heat/tests/generic_resource.py:41 #, python-format msgid "Deleting generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:47 +#: heat/tests/generic_resource.py:48 #, python-format msgid "Suspending generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:51 +#: heat/tests/generic_resource.py:52 #, python-format msgid "Resuming generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:118 +#: heat/tests/generic_resource.py:134 #, python-format msgid "Signaled resource (Type \"%(type)s\") %(details)s" msgstr "" @@ -5877,17 +5668,17 @@ msgstr "" msgid "Testing message %(text)s" msgstr "" -#: heat/tests/test_function.py:24 +#: heat/tests/test_function.py:23 msgid "Need more arguments" msgstr "" -#: heat/tests/test_provider_template.py:398 -#: heat/tests/test_provider_template.py:504 -#: heat/tests/test_provider_template.py:530 +#: heat/tests/test_provider_template.py:422 +#: heat/tests/test_provider_template.py:537 +#: heat/tests/test_provider_template.py:565 msgid "Failed to retrieve template" msgstr "" -#: heat/tests/test_server.py:878 +#: heat/tests/test_server.py:906 #, python-format msgid "" "Properties \"uuid\" and \"network\" are both set to the network " @@ -5895,11 +5686,11 @@ msgid "" "deprecated. Use only \"network\" property." msgstr "" -#: heat/tests/test_validate.py:1373 +#: heat/tests/test_validate.py:1332 msgid "The InstanceType parameter must be assigned to one Parameter Group only." msgstr "" -#: heat/tests/test_validate.py:1388 +#: heat/tests/test_validate.py:1347 msgid "" "The Parameter name (SomethingNotHere) does not reference an existing " "parameter." diff --git a/heat/locale/es/LC_MESSAGES/heat-log-error.po b/heat/locale/es/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..b71c691d73 --- /dev/null +++ b/heat/locale/es/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/heat/language/" +"es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "Se está descartando excepción original: %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "La excepción inesperada ha ocurrido %d vez(veces)... reintentando." + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "No se ha podido liberar el bloqueo adquirido `%s`" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "en llamada en bucle de duración fija" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "en llamada en bucle dinámica" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "Ha ocurrido un error al interpretar la regla %s" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "No hay manejador para coincidencias de clase %s" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "Ha ocurrido un error al interpretar la regla %r" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "Excepción durante limpieza de rpc." + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "Excepción no controlada" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "Excepción de base de datos recortada." + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "" diff --git a/heat/locale/es/LC_MESSAGES/heat-log-info.po b/heat/locale/es/LC_MESSAGES/heat-log-info.po new file mode 100644 index 0000000000..b8ce8cc930 --- /dev/null +++ b/heat/locale/es/LC_MESSAGES/heat-log-info.po @@ -0,0 +1,92 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/heat/language/" +"es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "Eventlet oculto escuchando en %(port)s para el proceso %(pid)d" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "Candado creado ruta: %s" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "Se ha captado %s, saliendo" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "El proceso padre se ha detenido inesperadamente, saliendo" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "Bifurcación demasiado rápida, en reposo" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "Se ha iniciado el hijo %d" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "Iniciando %d trabajadores" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "Hijo %(pid)d matado por señal %(sig)d" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "El hijo %(pid)s ha salido con el estado %(code)d" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "Se ha captado %s, deteniendo hijos" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "" + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "En espera de %d hijos para salir" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "Eliminando registro duplicado con id: %(id)s de la tabla: %(table)s" diff --git a/heat/locale/fr/LC_MESSAGES/heat-log-critical.po b/heat/locale/fr/LC_MESSAGES/heat-log-critical.po new file mode 100644 index 0000000000..a3d96bcb51 --- /dev/null +++ b/heat/locale/fr/LC_MESSAGES/heat-log-critical.po @@ -0,0 +1,23 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-05-30 06:20+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: French (http://www.transifex.com/projects/p/heat/language/" +"fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#~ msgid "Dummy message for transifex setup." +#~ msgstr "message fictif pour la configuration transifex" diff --git a/heat/locale/fr/LC_MESSAGES/heat-log-error.po b/heat/locale/fr/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..eb5bcce4f5 --- /dev/null +++ b/heat/locale/fr/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: French (http://www.transifex.com/projects/p/heat/language/" +"fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "Exception d'origine en cours de suppression : %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "Exception inattendue survenue %d fois... Nouvel essai." + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "Impossible de libérer le verrou acquis `%s`" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "dans l'appel en boucle de durée fixe" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "dans l'appel en boucle dynamique" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "Règle %s incompréhensible" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "Aucun gestionnaire pour les correspondances de type %s" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "Règle %r incompréhensible" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "Exception pendant le nettoyage rpc." + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "Exception non gérée" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "DB dépassé limite de tentatives" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "erreurs de connexion DB" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "Exception BD encapsulée." + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "" diff --git a/heat/locale/fr/LC_MESSAGES/heat-log-info.po b/heat/locale/fr/LC_MESSAGES/heat-log-info.po new file mode 100644 index 0000000000..8d88cc84a8 --- /dev/null +++ b/heat/locale/fr/LC_MESSAGES/heat-log-info.po @@ -0,0 +1,92 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: French (http://www.transifex.com/projects/p/heat/language/" +"fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "Eventlet backdoor en écoute sur le port %(port)s for process %(pid)d" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "Chemin de verrou créé: %s" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "Echec de la suppression du fichier %(file)s" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "%s interceptée, sortie" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "Processus parent arrêté de manière inattendue, sortie" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "Bifurcation trop rapide, pause" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "Enfant démarré %d" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "Démarrage des travailleurs %d" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "Enfant %(pid)d arrêté par le signal %(sig)d" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "Processus fils %(pid)s terminé avec le status %(code)d" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "%s interceptée, arrêt de l'enfant" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "" + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "En attente %d enfants pour sortie" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "Suppression ligne en double avec l'ID : %(id)s de la table : %(table)s" diff --git a/heat/locale/heat-log-critical.pot b/heat/locale/heat-log-critical.pot new file mode 100644 index 0000000000..f3ac086ff2 --- /dev/null +++ b/heat/locale/heat-log-critical.pot @@ -0,0 +1,19 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# FIRST AUTHOR , 2014. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: heat 2014.2.dev169.g59517ea\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + diff --git a/heat/locale/heat-log-error.pot b/heat/locale/heat-log-error.pot new file mode 100644 index 0000000000..66fea34e11 --- /dev/null +++ b/heat/locale/heat-log-error.pot @@ -0,0 +1,82 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# FIRST AUTHOR , 2014. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: heat 2014.2.dev169.g59517ea\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "" + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "" + diff --git a/heat/locale/heat-log-info.pot b/heat/locale/heat-log-info.pot new file mode 100644 index 0000000000..f68364ea95 --- /dev/null +++ b/heat/locale/heat-log-info.pot @@ -0,0 +1,91 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# FIRST AUTHOR , 2014. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: heat 2014.2.dev169.g59517ea\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "" + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + diff --git a/heat/locale/heat-log-warning.pot b/heat/locale/heat-log-warning.pot new file mode 100644 index 0000000000..e8695bdbf0 --- /dev/null +++ b/heat/locale/heat-log-warning.pot @@ -0,0 +1,64 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# FIRST AUTHOR , 2014. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: heat 2014.2.dev169.g59517ea\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: heat/openstack/common/loopingcall.py:82 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: heat/openstack/common/network_utils.py:149 +msgid "tcp_keepidle not available on your system" +msgstr "" + +#: heat/openstack/common/network_utils.py:156 +msgid "tcp_keepintvl not available on your system" +msgstr "" + +#: heat/openstack/common/network_utils.py:163 +msgid "tcp_keepknt not available on your system" +msgstr "" + +#: heat/openstack/common/service.py:364 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:506 +#, python-format +msgid "Database server has gone away: %s" +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:559 +msgid "Unable to detect effective SQL mode" +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:567 +#, python-format +msgid "MySQL SQL mode is '%s', consider enabling TRADITIONAL or STRICT_ALL_TABLES" +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:673 +#, python-format +msgid "SQL connection failed. %s attempts left." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/utils.py:97 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + diff --git a/heat/locale/heat.pot b/heat/locale/heat.pot index 3178a05fb9..850f183978 100644 --- a/heat/locale/heat.pot +++ b/heat/locale/heat.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: heat 2014.2.dev132.g635fad8\n" +"Project-Id-Version: heat 2014.2.dev169.g59517ea\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-04-22 06:08+0000\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,146 +17,136 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: heat/api/aws/ec2token.py:37 +#: heat/api/aws/ec2token.py:36 msgid "Authentication Endpoint URI." msgstr "" -#: heat/api/aws/ec2token.py:40 heat/common/config.py:150 +#: heat/api/aws/ec2token.py:39 heat/common/config.py:147 msgid "Allow orchestration of multiple clouds." msgstr "" -#: heat/api/aws/ec2token.py:43 heat/common/config.py:153 +#: heat/api/aws/ec2token.py:42 heat/common/config.py:150 msgid "" "Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At " "least one endpoint needs to be specified." msgstr "" -#: heat/api/aws/ec2token.py:128 -#, python-format -msgid "Attempt authorize on %s" -msgstr "" - -#: heat/api/aws/ec2token.py:131 -#, python-format -msgid "Authorize failed: %s" -msgstr "" - -#: heat/api/aws/ec2token.py:141 +#: heat/api/aws/ec2token.py:142 msgid "Checking AWS credentials.." msgstr "" -#: heat/api/aws/ec2token.py:148 +#: heat/api/aws/ec2token.py:149 msgid "No AWS Signature found." msgstr "" -#: heat/api/aws/ec2token.py:156 +#: heat/api/aws/ec2token.py:157 msgid "No AWSAccessKeyId/Authorization Credential" msgstr "" -#: heat/api/aws/ec2token.py:159 +#: heat/api/aws/ec2token.py:160 msgid "AWS credentials found, checking against keystone." msgstr "" -#: heat/api/aws/ec2token.py:162 +#: heat/api/aws/ec2token.py:163 msgid "Ec2Token authorization failed, no auth_uri specified in config file" msgstr "" -#: heat/api/aws/ec2token.py:164 +#: heat/api/aws/ec2token.py:165 msgid "Service misconfigured" msgstr "" -#: heat/api/aws/ec2token.py:187 +#: heat/api/aws/ec2token.py:188 #, python-format msgid "Authenticating with %s" msgstr "" -#: heat/api/aws/ec2token.py:195 +#: heat/api/aws/ec2token.py:196 msgid "AWS authentication successful." msgstr "" -#: heat/api/aws/ec2token.py:197 +#: heat/api/aws/ec2token.py:198 msgid "AWS authentication failure." msgstr "" -#: heat/api/aws/exception.py:36 +#: heat/api/aws/exception.py:35 msgid "Generic HeatAPIException, please use specific subclasses!" msgstr "" -#: heat/api/aws/exception.py:75 +#: heat/api/aws/exception.py:74 msgid "The request signature does not conform to AWS standards" msgstr "" -#: heat/api/aws/exception.py:84 +#: heat/api/aws/exception.py:83 msgid "The request processing has failed due to an internal error" msgstr "" -#: heat/api/aws/exception.py:95 +#: heat/api/aws/exception.py:94 msgid "The action or operation requested is invalid" msgstr "" -#: heat/api/aws/exception.py:104 +#: heat/api/aws/exception.py:103 msgid "The certificate or AWS Key ID provided does not exist" msgstr "" -#: heat/api/aws/exception.py:113 +#: heat/api/aws/exception.py:112 msgid "Incompatible parameters were used together" msgstr "" -#: heat/api/aws/exception.py:122 +#: heat/api/aws/exception.py:121 msgid "A bad or out-of-range value was supplied" msgstr "" -#: heat/api/aws/exception.py:131 +#: heat/api/aws/exception.py:130 msgid "AWS query string is malformed, does not adhere to AWS spec" msgstr "" -#: heat/api/aws/exception.py:141 +#: heat/api/aws/exception.py:140 msgid "The query string is malformed" msgstr "" -#: heat/api/aws/exception.py:150 +#: heat/api/aws/exception.py:149 msgid "The request is missing an action or operation parameter" msgstr "" -#: heat/api/aws/exception.py:160 +#: heat/api/aws/exception.py:159 msgid "Does not contain a valid AWS Access Key or certificate" msgstr "" -#: heat/api/aws/exception.py:169 +#: heat/api/aws/exception.py:168 msgid "A mandatory input parameter is missing" msgstr "" -#: heat/api/aws/exception.py:178 +#: heat/api/aws/exception.py:177 msgid "The AWS Access Key ID needs a subscription for the service" msgstr "" -#: heat/api/aws/exception.py:189 +#: heat/api/aws/exception.py:188 msgid "Request expired or more than 15mins in the future" msgstr "" -#: heat/api/aws/exception.py:198 +#: heat/api/aws/exception.py:197 msgid "Service temporarily unavailable" msgstr "" -#: heat/api/aws/exception.py:208 +#: heat/api/aws/exception.py:207 msgid "Request was denied due to request throttling" msgstr "" -#: heat/api/aws/exception.py:217 +#: heat/api/aws/exception.py:216 msgid "Resource with the name requested already exists" msgstr "" -#: heat/api/aws/exception.py:228 +#: heat/api/aws/exception.py:227 msgid "User is not authorized to perform action" msgstr "" -#: heat/api/aws/exception.py:238 +#: heat/api/aws/exception.py:237 msgid "" "The request signature we calculated does not match the signature you " "provided" msgstr "" -#: heat/api/aws/exception.py:249 +#: heat/api/aws/exception.py:248 msgid "The requested action is not yet implemented" msgstr "" @@ -165,12 +155,12 @@ msgstr "" msgid "Request does not contain %s parameter!" msgstr "" -#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48 +#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:49 #, python-format msgid "Action %s not allowed for user" msgstr "" -#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55 +#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:56 #, python-format msgid "Error authorizing action %s" msgstr "" @@ -205,64 +195,24 @@ msgstr "" msgid "stack not not found" msgstr "" -#: heat/api/cloudwatch/watch.py:214 +#: heat/api/cfn/v1/stacks.py:424 heat/engine/service.py:638 +msgid "validate_template" +msgstr "" + +#: heat/api/cloudwatch/watch.py:216 #, python-format msgid "Invalid filter key %s, ignoring" msgstr "" -#: heat/api/cloudwatch/watch.py:223 -#, python-format -msgid "filter parameters : %s" -msgstr "" - -#: heat/api/cloudwatch/watch.py:269 +#: heat/api/cloudwatch/watch.py:271 msgid "Request does not contain required MetricData" msgstr "" -#: heat/api/cloudwatch/watch.py:320 +#: heat/api/cloudwatch/watch.py:322 #, python-format msgid "Invalid state %(state)s, expecting one of %(expect)s" msgstr "" -#: heat/api/cloudwatch/watch.py:327 -#, python-format -msgid "setting %(name)s to %(state)s" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:49 -#, python-format -msgid "Processing request: %(method)s %(path)s Accept: %(accept)s" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:64 -#, python-format -msgid "Matched versioned URI. Version: %(major_version)d.%(minor_version)d" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:72 -#, python-format -msgid "" -"Unknown version in versioned URI: %(major_version)d.%(minor_version)d. " -"Returning version choices." -msgstr "" - -#: heat/api/middleware/version_negotiation.py:88 -#, python-format -msgid "Matched versioned media type. Version: %(major_version)d.%(minor_version)d" -msgstr "" - -#: heat/api/middleware/version_negotiation.py:94 -#, python-format -msgid "" -"Unknown version in accept header: " -"%(major_version)d.%(minor_version)d...returning version choices." -msgstr "" - -#: heat/api/middleware/version_negotiation.py:102 -#, python-format -msgid "Unknown accept header: %s...returning HTTP not found." -msgstr "" - #: heat/api/openstack/v1/actions.py:44 msgid "No action specified" msgstr "" @@ -291,30 +241,30 @@ msgstr "" msgid "No event %s found" msgstr "" -#: heat/api/openstack/v1/stacks.py:74 +#: heat/api/openstack/v1/stacks.py:75 #, python-format msgid "%(type)s not in valid format: %(error)s" msgstr "" -#: heat/api/openstack/v1/stacks.py:82 +#: heat/api/openstack/v1/stacks.py:83 msgid "No stack name specified" msgstr "" -#: heat/api/openstack/v1/stacks.py:100 +#: heat/api/openstack/v1/stacks.py:101 #, python-format msgid "Could not retrieve template: %s" msgstr "" -#: heat/api/openstack/v1/stacks.py:103 +#: heat/api/openstack/v1/stacks.py:104 msgid "No template specified" msgstr "" -#: heat/api/openstack/v1/stacks.py:185 +#: heat/api/openstack/v1/stacks.py:191 #, python-format msgid "Old Engine Version: %s" msgstr "" -#: heat/api/openstack/v1/util.py:61 +#: heat/api/openstack/v1/util.py:62 msgid "Invalid Stack address" msgstr "" @@ -335,48 +285,48 @@ msgstr "" msgid "Header X-Auth-Url \"%s\" not an allowed endpoint" msgstr "" -#: heat/common/config.py:34 +#: heat/common/config.py:29 msgid "The flavor to use." msgstr "" -#: heat/common/config.py:36 +#: heat/common/config.py:31 msgid "The API paste config file to use." msgstr "" -#: heat/common/config.py:100 +#: heat/common/config.py:97 msgid "Select deferred auth method, stored password or trusts." msgstr "" -#: heat/common/config.py:104 +#: heat/common/config.py:101 msgid "Subset of trustor roles to be delegated to heat." msgstr "" -#: heat/common/config.py:110 +#: heat/common/config.py:107 msgid "Maximum number of stacks any one tenant may have active at one time." msgstr "" -#: heat/common/config.py:114 +#: heat/common/config.py:111 msgid "" "Controls how many events will be pruned whenever a stack's events exceed" " max_events_per_stack. Set this lower to keep more events at the expense " "of more frequent purges." msgstr "" -#: heat/common/config.py:120 +#: heat/common/config.py:117 msgid "" "Maximum events that will be available per stack. Older events will be " "deleted when this is reached. Set to 0 for unlimited events per stack." msgstr "" -#: heat/common/config.py:125 +#: heat/common/config.py:122 msgid "Timeout in seconds for stack action (ie. create or update)." msgstr "" -#: heat/common/config.py:129 +#: heat/common/config.py:126 msgid "RPC timeout for the engine liveness check that is used for stack locking." msgstr "" -#: heat/common/config.py:132 +#: heat/common/config.py:129 msgid "" "onready allows you to send a notification when the heat processes are " "ready to serve. This is either a module with the notify() method or a " @@ -385,70 +335,64 @@ msgid "" "notification module." msgstr "" -#: heat/common/config.py:159 +#: heat/common/config.py:156 msgid "" "Type of endpoint in Identity service catalog to use for communication " "with the OpenStack service." msgstr "" -#: heat/common/config.py:163 +#: heat/common/config.py:160 msgid "Optional CA cert file to use in SSL connections." msgstr "" -#: heat/common/config.py:165 +#: heat/common/config.py:162 msgid "Optional PEM-formatted certificate chain file." msgstr "" -#: heat/common/config.py:167 +#: heat/common/config.py:164 msgid "Optional PEM-formatted file that contains the private key." msgstr "" -#: heat/common/config.py:171 +#: heat/common/config.py:168 msgid "If set, then the server's certificate will not be verified." msgstr "" -#: heat/common/config.py:186 +#: heat/common/config.py:173 #, python-format msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s." msgstr "" -#: heat/common/config.py:196 +#: heat/common/config.py:179 +msgid "Allow client's debug log output." +msgstr "" + +#: heat/common/config.py:185 msgid "" "Heat build revision. If you would prefer to manage your build revision " "separately, you can move this section to a different file and add it as " "another config option." msgstr "" -#: heat/common/config.py:225 -msgid "" -"The \"instance_user\" option in heat.conf is deprecated and will be " -"removed in the Juno release." -msgstr "" - -#: heat/common/config.py:272 +#: heat/common/config.py:260 msgid "Unable to locate config file" msgstr "" -#: heat/common/config.py:284 +#: heat/common/config.py:272 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" "Got: %(e)r" msgstr "" -#: heat/common/custom_backend_auth.py:45 -msgid "Authenticating user token" -msgstr "" - #: heat/common/custom_backend_auth.py:61 msgid "Backend authentication failed" msgstr "" -#: heat/common/environment_format.py:38 +#: heat/common/environment_format.py:36 msgid "The environment is not a valid YAML mapping data type." msgstr "" -#: heat/common/environment_format.py:42 +#: heat/common/environment_format.py:40 #, python-format msgid "environment has wrong section \"%s\"" msgstr "" @@ -681,122 +625,123 @@ msgstr "" msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)" msgstr "" -#: heat/common/heat_keystoneclient.py:93 +#: heat/common/heat_keystoneclient.py:96 msgid "" "heat.conf misconfigured, cannot specify stack_user_domain without " "stack_domain_admin and stack_domain_admin_password" msgstr "" -#: heat/common/heat_keystoneclient.py:98 +#: heat/common/heat_keystoneclient.py:101 msgid "stack_user_domain ID not set in heat.conf falling back to using default" msgstr "" -#: heat/common/heat_keystoneclient.py:100 -#, python-format -msgid "Using stack domain %s" +#: heat/common/heat_keystoneclient.py:122 +msgid "Admin client authentication failed" msgstr "" -#: heat/common/heat_keystoneclient.py:160 +#: heat/common/heat_keystoneclient.py:138 +msgid "Domain admin client authentication failed" +msgstr "" + +#: heat/common/heat_keystoneclient.py:163 msgid "Keystone v3 API connection failed, no password trust or auth_token!" msgstr "" -#: heat/common/heat_keystoneclient.py:171 +#: heat/common/heat_keystoneclient.py:174 msgid "trust token re-scoping failed!" msgstr "" -#: heat/common/heat_keystoneclient.py:261 +#: heat/common/heat_keystoneclient.py:178 +msgid "Trust impersonation failed" +msgstr "" + +#: heat/common/heat_keystoneclient.py:260 #, python-format msgid "Truncating the username %s to the last 64 characters." msgstr "" -#: heat/common/heat_keystoneclient.py:295 -#: heat/common/heat_keystoneclient.py:336 -#, python-format -msgid "Adding user %(user)s to role %(role)s" -msgstr "" - -#: heat/common/heat_keystoneclient.py:300 -#: heat/common/heat_keystoneclient.py:341 +#: heat/common/heat_keystoneclient.py:292 +#: heat/common/heat_keystoneclient.py:335 #, python-format msgid "Failed to add user %(user)s to role %(role)s, check role exists!" msgstr "" -#: heat/common/heat_keystoneclient.py:304 -#: heat/common/heat_keystoneclient.py:344 +#: heat/common/heat_keystoneclient.py:296 +#: heat/common/heat_keystoneclient.py:339 #, python-format msgid "Can't find role %s" msgstr "" -#: heat/common/heat_keystoneclient.py:320 +#: heat/common/heat_keystoneclient.py:314 msgid "" "Falling back to legacy non-domain user create, configure domain in " "heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:353 +#: heat/common/heat_keystoneclient.py:348 #, python-format msgid "User %s in invalid domain" msgstr "" -#: heat/common/heat_keystoneclient.py:355 +#: heat/common/heat_keystoneclient.py:350 #, python-format msgid "User %s in invalid project" msgstr "" -#: heat/common/heat_keystoneclient.py:361 +#: heat/common/heat_keystoneclient.py:356 msgid "" "Falling back to legacy non-domain user delete, configure domain in " "heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:375 -#: heat/common/heat_keystoneclient.py:392 +#: heat/common/heat_keystoneclient.py:377 +#: heat/common/heat_keystoneclient.py:394 msgid "Falling back to legacy non-domain project, configure domain in heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:459 -#: heat/common/heat_keystoneclient.py:476 +#: heat/common/heat_keystoneclient.py:468 +#: heat/common/heat_keystoneclient.py:485 msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:495 +#: heat/common/heat_keystoneclient.py:504 msgid "Falling back to legacy non-domain disable, configure domain in heat.conf" msgstr "" -#: heat/common/heat_keystoneclient.py:505 +#: heat/common/heat_keystoneclient.py:514 msgid "Falling back to legacy non-domain enable, configure domain in heat.conf" msgstr "" -#: heat/common/identifier.py:41 +#: heat/common/identifier.py:42 msgid "Stack name may not contain \"/\"" msgstr "" -#: heat/common/identifier.py:57 +#: heat/common/identifier.py:56 #, python-format msgid "\"%s\" is not a valid ARN" msgstr "" -#: heat/common/identifier.py:63 +#: heat/common/identifier.py:62 #, python-format msgid "\"%s\" is not a valid Heat ARN" msgstr "" -#: heat/common/identifier.py:80 +#: heat/common/identifier.py:79 #, python-format msgid "\"%s\" is not a valid URL" msgstr "" -#: heat/common/identifier.py:86 +#: heat/common/identifier.py:85 #, python-format msgid "\"%s\" is not a valid ARN URL" msgstr "" -#: heat/common/identifier.py:142 heat/common/identifier.py:149 +#: heat/common/identifier.py:138 heat/common/identifier.py:145 #, python-format msgid "Unknown attribute \"%s\"" msgstr "" -#: heat/common/identifier.py:180 heat/engine/resource.py:141 +#: heat/common/identifier.py:178 heat/engine/resource.py:141 msgid "Resource name may not contain \"/\"" msgstr "" @@ -805,7 +750,12 @@ msgstr "" msgid "Failed to execute onready command: %s" msgstr "" -#: heat/common/plugin_loader.py:92 +#: heat/common/param_utils.py:24 +#, python-format +msgid "Unrecognized value \"%(value)s, acceptable values are: true, false." +msgstr "" + +#: heat/common/plugin_loader.py:97 #, python-format msgid "Failed to import module %s" msgstr "" @@ -836,17 +786,17 @@ msgstr "" msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported." msgstr "" -#: heat/common/urlfetch.py:46 +#: heat/common/urlfetch.py:43 #, python-format msgid "Fetching data from %s" msgstr "" -#: heat/common/urlfetch.py:51 +#: heat/common/urlfetch.py:48 #, python-format msgid "Invalid URL scheme %s" msgstr "" -#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81 +#: heat/common/urlfetch.py:54 heat/common/urlfetch.py:78 #, python-format msgid "Failed to retrieve template: %s" msgstr "" @@ -891,160 +841,161 @@ msgid "" "by the Keystone v3 API with big service catalogs.)" msgstr "" -#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59 +#: heat/common/wsgi.py:212 heat/openstack/common/sslutils.py:56 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: heat/common/wsgi.py:223 +#: heat/common/wsgi.py:230 #, python-format msgid "Could not bind to %(bind_addr)safter trying for 30 seconds" msgstr "" -#: heat/common/wsgi.py:255 +#: heat/common/wsgi.py:262 msgid "SIGTERM received" msgstr "" -#: heat/common/wsgi.py:264 +#: heat/common/wsgi.py:271 msgid "SIGHUP received" msgstr "" -#: heat/common/wsgi.py:280 +#: heat/common/wsgi.py:287 #, python-format msgid "Starting %d workers" msgstr "" -#: heat/common/wsgi.py:291 +#: heat/common/wsgi.py:298 #, python-format msgid "Removing dead child %s" msgstr "" -#: heat/common/wsgi.py:298 +#: heat/common/wsgi.py:305 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: heat/common/wsgi.py:302 -msgid "Exited" -msgstr "" - -#: heat/common/wsgi.py:320 +#: heat/common/wsgi.py:327 #, python-format msgid "Child %d exiting normally" msgstr "" -#: heat/common/wsgi.py:323 +#: heat/common/wsgi.py:330 #, python-format msgid "Started child %s" msgstr "" -#: heat/common/wsgi.py:346 +#: heat/common/wsgi.py:353 msgid "Starting single process server" msgstr "" -#: heat/common/wsgi.py:553 +#: heat/common/wsgi.py:560 #, python-format msgid "" "JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s " "bytes)." msgstr "" -#: heat/common/wsgi.py:620 +#: heat/common/wsgi.py:627 #, python-format msgid "Exception handling resource: %s" msgstr "" -#: heat/common/wsgi.py:621 +#: heat/common/wsgi.py:628 msgid "" "The server could not comply with the request since\r\n" "it is either malformed or otherwise incorrect.\r\n" msgstr "" -#: heat/common/wsgi.py:642 +#: heat/common/wsgi.py:649 #, python-format msgid "Returning %(code)s to user: %(explanation)s" msgstr "" -#: heat/common/wsgi.py:681 +#: heat/common/wsgi.py:688 msgid "Unable to serialize exception response" msgstr "" -#: heat/common/wsgi.py:716 +#: heat/common/wsgi.py:723 #, python-format msgid "Unexpected error occurred serving API: %s" msgstr "" -#: heat/db/sqlalchemy/api.py:89 +#: heat/db/sqlalchemy/api.py:90 #, python-format msgid "raw template with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:106 +#: heat/db/sqlalchemy/api.py:114 #, python-format msgid "resource with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:136 +#: heat/db/sqlalchemy/api.py:146 msgid "no resources were found" msgstr "" -#: heat/db/sqlalchemy/api.py:150 +#: heat/db/sqlalchemy/api.py:161 msgid "no resource data found" msgstr "" -#: heat/db/sqlalchemy/api.py:200 +#: heat/db/sqlalchemy/api.py:211 msgid "No resource data found" msgstr "" -#: heat/db/sqlalchemy/api.py:253 +#: heat/db/sqlalchemy/api.py:265 #, python-format msgid "no resources for stack_id %s were found" msgstr "" -#: heat/db/sqlalchemy/api.py:394 +#: heat/db/sqlalchemy/api.py:413 #, python-format msgid "Attempt to update a stack with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:406 +#: heat/db/sqlalchemy/api.py:425 #, python-format msgid "Attempt to delete a stack with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:489 +#: heat/db/sqlalchemy/api.py:508 #, python-format msgid "Attempt to delete user creds with id %(id)s that does not exist" msgstr "" -#: heat/db/sqlalchemy/api.py:604 +#: heat/db/sqlalchemy/api.py:617 #, python-format msgid "Attempt to update a watch with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:616 +#: heat/db/sqlalchemy/api.py:629 #, python-format msgid "Attempt to delete watch_rule: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:655 +#: heat/db/sqlalchemy/api.py:668 #, python-format msgid "Software config with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:682 +#: heat/db/sqlalchemy/api.py:695 #, python-format msgid "Deployment with id %s not found" msgstr "" -#: heat/db/sqlalchemy/api.py:718 +#: heat/db/sqlalchemy/api.py:741 +#, python-format +msgid "Snapshot with id %s not found" +msgstr "" + +#: heat/db/sqlalchemy/api.py:764 msgid "age should be an integer" msgstr "" -#: heat/db/sqlalchemy/api.py:720 +#: heat/db/sqlalchemy/api.py:766 msgid "age should be a positive integer" msgstr "" -#: heat/db/sqlalchemy/api.py:724 +#: heat/db/sqlalchemy/api.py:770 msgid "granularity should be days, hours, minutes, or seconds" msgstr "" @@ -1056,173 +1007,164 @@ msgstr "" #: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:58 #: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:70 -#: heat/db/sqlalchemy/migrate_repo/versions/043_migrate_template_versions.py:57 +#: heat/db/sqlalchemy/migrate_repo/versions/043_migrate_template_versions.py:58 msgid "" "This version cannot be downgraded because it involves a data migration to" " the raw_template table." msgstr "" -#: heat/engine/api.py:36 +#: heat/engine/api.py:37 msgid "Timeout conversion failed" msgstr "" -#: heat/engine/api.py:41 +#: heat/engine/api.py:42 #, python-format msgid "Invalid timeout value %s" msgstr "" -#: heat/engine/api.py:50 -#, python-format -msgid "Unexpected value for parameter %(name)s : %(value)s" -msgstr "" - -#: heat/engine/api.py:60 +#: heat/engine/api.py:58 #, python-format msgid "Unexpected adopt data \"%s\". Adopt data must be a dict." msgstr "" -#: heat/engine/api.py:236 +#: heat/engine/api.py:242 msgid "Unexpected number of keys in watch_data.data!" msgstr "" -#: heat/engine/attributes.py:83 +#: heat/engine/attributes.py:148 #, python-format msgid "%(resource)s: Invalid attribute %(key)s" msgstr "" -#: heat/engine/clients.py:31 -msgid "swiftclient not available" -msgstr "" - -#: heat/engine/clients.py:36 -msgid "neutronclient not available" -msgstr "" - -#: heat/engine/clients.py:41 -msgid "cinderclient not available" -msgstr "" - -#: heat/engine/clients.py:47 -msgid "troveclient not available" -msgstr "" - -#: heat/engine/clients.py:53 -msgid "ceilometerclient not available" -msgstr "" - -#: heat/engine/clients.py:159 -msgid "Neutron connection failed, no auth_token!" -msgstr "" - -#: heat/engine/constraints.py:87 +#: heat/engine/constraints.py:88 #, python-format msgid "Invalid type (%s)" msgstr "" -#: heat/engine/constraints.py:94 +#: heat/engine/constraints.py:95 #, python-format msgid "Single schema valid only for %(ltype)s, not %(utype)s" msgstr "" -#: heat/engine/constraints.py:104 +#: heat/engine/constraints.py:105 #, python-format msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s" msgstr "" -#: heat/engine/constraints.py:113 +#: heat/engine/constraints.py:123 #, python-format msgid "%(name)s constraint invalid for %(utype)s" msgstr "" -#: heat/engine/constraints.py:127 heat/engine/parameters.py:85 +#: heat/engine/constraints.py:143 heat/engine/parameters.py:85 #, python-format msgid "Invalid default %(default)s (%(exc)s)" msgstr "" -#: heat/engine/constraints.py:206 +#: heat/engine/constraints.py:175 +#, python-format +msgid "%s is not an integer." +msgstr "" + +#: heat/engine/constraints.py:186 +#, python-format +msgid "Value \"%(val)s\" is invalid for data type \"%(type)s\"." +msgstr "" + +#: heat/engine/constraints.py:249 #, python-format msgid "Invalid key %s" msgstr "" -#: heat/engine/constraints.py:295 +#: heat/engine/constraints.py:338 msgid "min/max must be numeric" msgstr "" -#: heat/engine/constraints.py:299 +#: heat/engine/constraints.py:342 msgid "A range constraint must have a min value and/or a max value specified." msgstr "" -#: heat/engine/constraints.py:304 +#: heat/engine/constraints.py:347 #, python-format msgid "The value must be at least %(min)s." msgstr "" -#: heat/engine/constraints.py:306 +#: heat/engine/constraints.py:349 #, python-format msgid "The value must be no greater than %(max)s." msgstr "" -#: heat/engine/constraints.py:308 +#: heat/engine/constraints.py:351 #, python-format msgid "The value must be in the range %(min)s to %(max)s." msgstr "" -#: heat/engine/constraints.py:356 +#: heat/engine/constraints.py:399 msgid "A length constraint must have a min value and/or a max value specified." msgstr "" -#: heat/engine/constraints.py:363 +#: heat/engine/constraints.py:406 msgid "min/max length must be integral" msgstr "" -#: heat/engine/constraints.py:368 +#: heat/engine/constraints.py:411 #, python-format msgid "The length must be at least %(min)s." msgstr "" -#: heat/engine/constraints.py:370 +#: heat/engine/constraints.py:413 #, python-format msgid "The length must be no greater than %(max)s." msgstr "" -#: heat/engine/constraints.py:372 +#: heat/engine/constraints.py:415 #, python-format msgid "The length must be in the range %(min)s to %(max)s." msgstr "" -#: heat/engine/constraints.py:403 +#: heat/engine/constraints.py:446 msgid "AllowedValues must be a list" msgstr "" -#: heat/engine/constraints.py:408 +#: heat/engine/constraints.py:451 #, python-format msgid "Allowed values: %s" msgstr "" -#: heat/engine/constraints.py:443 +#: heat/engine/constraints.py:490 msgid "AllowedPattern must be a string" msgstr "" -#: heat/engine/constraints.py:448 +#: heat/engine/constraints.py:495 #, python-format msgid "Value must match pattern: %s" msgstr "" -#: heat/engine/constraints.py:490 +#: heat/engine/constraints.py:537 #, python-format msgid "Value must be of type %s" msgstr "" -#: heat/engine/constraints.py:496 +#: heat/engine/constraints.py:543 #, python-format msgid "\"%(value)s\" does not validate %(name)s (constraint not found)" msgstr "" -#: heat/engine/constraints.py:503 +#: heat/engine/constraints.py:550 #, python-format msgid "\"%(value)s\" does not validate %(name)s" msgstr "" +#: heat/engine/constraints.py:573 +#, python-format +msgid "Error validating value %(value)r" +msgstr "" + +#: heat/engine/constraints.py:574 +#, python-format +msgid "Error validating value %(value)r: %(message)s" +msgstr "" + #: heat/engine/dependencies.py:24 #, python-format msgid "Circular Dependency Found: %(cycle)s" @@ -1243,42 +1185,42 @@ msgstr "" msgid "Registering %(path)s -> %(value)s" msgstr "" -#: heat/engine/environment.py:284 heat/tests/test_resource.py:85 +#: heat/engine/environment.py:288 heat/tests/test_resource.py:96 #, python-format msgid "Resource \"%s\" has no type" msgstr "" -#: heat/engine/environment.py:287 heat/tests/test_resource.py:102 +#: heat/engine/environment.py:291 #, python-format msgid "Non-empty resource type is required for resource \"%s\"" msgstr "" -#: heat/engine/environment.py:291 heat/tests/test_resource.py:93 +#: heat/engine/environment.py:295 #, python-format msgid "Resource \"%s\" type is not a string" msgstr "" -#: heat/engine/environment.py:297 +#: heat/engine/environment.py:302 #, python-format msgid "Unknown resource Type : %s" msgstr "" -#: heat/engine/environment.py:400 +#: heat/engine/environment.py:405 #, python-format msgid "Failed to read %s" msgstr "" -#: heat/engine/environment.py:407 +#: heat/engine/environment.py:412 #, python-format msgid "Loading %s" msgstr "" -#: heat/engine/environment.py:412 +#: heat/engine/environment.py:417 #, python-format msgid "Failed to parse %(file_path)s" msgstr "" -#: heat/engine/environment.py:416 +#: heat/engine/environment.py:421 #, python-format msgid "Failed to read %(file_path)s" msgstr "" @@ -1292,11 +1234,7 @@ msgstr "" msgid "Duplicating event" msgstr "" -#: heat/engine/parameter_groups.py:43 -msgid "Validating Parameter Groups." -msgstr "" - -#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398 +#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1357 msgid "Parameters must be provided for each Parameter Group." msgstr "" @@ -1330,108 +1268,117 @@ msgstr "" msgid "Missing parameter type for parameter: %s" msgstr "" -#: heat/engine/parameters.py:194 +#: heat/engine/parameters.py:196 #, python-format msgid "Invalid Parameter type \"%s\"" msgstr "" -#: heat/engine/parameters.py:223 +#: heat/engine/parameters.py:230 #, python-format -msgid "Missing parameter %s" -msgstr "" - -#: heat/engine/parameters.py:302 -#, python-format -msgid "Value must be a comma-delimited list string: %s" +msgid "Parameter '%(name)s' is invalid: %(exp)s" msgstr "" #: heat/engine/parameters.py:338 #, python-format +msgid "Value must be a comma-delimited list string: %s" +msgstr "" + +#: heat/engine/parameters.py:373 +#, python-format msgid "Value must be valid JSON: %s" msgstr "" -#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138 +#: heat/engine/parameters.py:500 heat/engine/hot/parameters.py:135 msgid "Stack ID" msgstr "" -#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143 +#: heat/engine/parameters.py:504 heat/engine/hot/parameters.py:140 msgid "Stack Name" msgstr "" -#: heat/engine/parser.py:70 +#: heat/engine/parser.py:73 #, python-format msgid "" "Invalid stack name %s must contain only alphanumeric or \"_-.\" " "characters, must start with alpha" msgstr "" -#: heat/engine/parser.py:163 +#: heat/engine/parser.py:134 +msgid "Attempt to use stored_context with no user_creds" +msgstr "" + +#: heat/engine/parser.py:199 msgid "Unable to set parameters StackId identifier" msgstr "" -#: heat/engine/parser.py:182 +#: heat/engine/parser.py:219 #, python-format msgid "No stack exists with id \"%s\"" msgstr "" -#: heat/engine/parser.py:347 heat/engine/parser.py:348 +#: heat/engine/parser.py:413 #, python-format msgid "Duplicate names %s" msgstr "" -#: heat/engine/parser.py:383 heat/engine/resource.py:807 +#: heat/engine/parser.py:448 heat/engine/resource.py:807 #, python-format msgid "Invalid action %s" msgstr "" -#: heat/engine/parser.py:386 heat/engine/resource.py:810 +#: heat/engine/parser.py:451 heat/engine/resource.py:810 #, python-format msgid "Invalid status %s" msgstr "" -#: heat/engine/parser.py:495 -msgid "Loaded existing backup stack" +#: heat/engine/parser.py:465 +#, python-format +msgid "Stack %(action)s %(status)s (%(name)s): %(reason)s" msgstr "" -#: heat/engine/parser.py:503 -msgid "Created new backup stack" -msgstr "" - -#: heat/engine/parser.py:543 +#: heat/engine/parser.py:611 #, python-format msgid "Unexpected action %s passed to update!" msgstr "" -#: heat/engine/parser.py:552 -#, python-format -msgid "Starting update rollback for %s" -msgstr "" - -#: heat/engine/parser.py:603 -msgid "Deleting backup stack" -msgstr "" - -#: heat/engine/parser.py:632 +#: heat/engine/parser.py:698 #, python-format msgid "Unexpected action %s passed to delete!" msgstr "" -#: heat/engine/parser.py:712 +#: heat/engine/parser.py:785 +#, python-format +msgid "" +"Tried to delete user_creds that do not exist (stack=%(stack)s " +"user_creds_id=%(uc)s)" +msgstr "" + +#: heat/engine/parser.py:793 +#, python-format +msgid "Tried to store a stack that does not exist %s " +msgstr "" + +#: heat/engine/parser.py:810 heat/engine/parser.py:818 +#, python-format +msgid "Tried to delete stack that does not exist %s " +msgstr "" + +#: heat/engine/parser.py:833 #, python-format msgid "%s is already suspended" msgstr "" -#: heat/engine/parser.py:731 +#: heat/engine/parser.py:852 #, python-format msgid "%s is already resumed" msgstr "" -#: heat/engine/parser.py:762 +#: heat/engine/parser.py:884 #, python-format msgid "delete: %s" msgstr "" -#: heat/engine/parser.py:770 +#: heat/engine/parser.py:892 msgid "create" msgstr "" @@ -1445,141 +1392,147 @@ msgstr "" msgid "Invalid type for %(mapping_name)s from %(module)s" msgstr "" -#: heat/engine/properties.py:75 +#: heat/engine/properties.py:77 #, python-format msgid "Unknown key(s) %s" msgstr "" -#: heat/engine/properties.py:96 +#: heat/engine/properties.py:98 #, python-format msgid "No %s specified" msgstr "" -#: heat/engine/properties.py:105 +#: heat/engine/properties.py:107 #, python-format msgid "%(schema)s supplied for %(type)s %(data)s" msgstr "" -#: heat/engine/properties.py:200 +#: heat/engine/properties.py:203 #, python-format msgid "Value '%s' is not an integer" msgstr "" -#: heat/engine/properties.py:213 +#: heat/engine/properties.py:216 msgid "Value must be a string" msgstr "" -#: heat/engine/properties.py:233 +#: heat/engine/properties.py:238 #, python-format msgid "\"%s\" is not a map" msgstr "" -#: heat/engine/properties.py:242 +#: heat/engine/properties.py:247 #, python-format msgid "\"%s\" is not a list" msgstr "" -#: heat/engine/properties.py:254 +#: heat/engine/properties.py:260 #, python-format msgid "\"%s\" is not a valid boolean" msgstr "" -#: heat/engine/properties.py:313 +#: heat/engine/properties.py:321 #, python-format msgid "Property error : %s" msgstr "" -#: heat/engine/properties.py:318 +#: heat/engine/properties.py:326 #, python-format msgid "Property %s not implemented yet" msgstr "" -#: heat/engine/properties.py:323 +#: heat/engine/properties.py:331 #, python-format msgid "Unknown Property %s" msgstr "" -#: heat/engine/properties.py:328 +#: heat/engine/properties.py:336 #, python-format msgid "%(prefix)sInvalid Property %(key)s" msgstr "" -#: heat/engine/properties.py:345 +#: heat/engine/properties.py:353 #, python-format msgid "%(prefix)sProperty %(key)s not assigned" msgstr "" -#: heat/engine/resource.py:60 +#: heat/engine/resource.py:59 #, python-format msgid "The Resource %s requires replacement." msgstr "" -#: heat/engine/resource.py:422 +#: heat/engine/resource.py:420 msgid "Error marking resource as failed" msgstr "" -#: heat/engine/resource.py:441 +#: heat/engine/resource.py:440 #, python-format msgid "State %s invalid for create" msgstr "" -#: heat/engine/resource.py:479 +#: heat/engine/resource.py:444 +#, python-format +msgid "creating %s" +msgstr "" + +#: heat/engine/resource.py:476 msgid "Resource ID was not provided." msgstr "" -#: heat/engine/resource.py:525 +#: heat/engine/resource.py:524 msgid "Resource update already requested" msgstr "" +#: heat/engine/resource.py:527 +#, python-format +msgid "updating %s" +msgstr "" + #: heat/engine/resource.py:555 #, python-format -msgid "Resource %s update requires replacement" -msgstr "" - -#: heat/engine/resource.py:558 -#, python-format msgid "update %(resource)s : %(err)s" msgstr "" -#: heat/engine/resource.py:577 +#: heat/engine/resource.py:574 #, python-format msgid "State %s invalid for suspend" msgstr "" -#: heat/engine/resource.py:581 +#: heat/engine/resource.py:578 #, python-format msgid "suspending %s" msgstr "" -#: heat/engine/resource.py:593 +#: heat/engine/resource.py:590 #, python-format msgid "State %s invalid for resume" msgstr "" -#: heat/engine/resource.py:597 +#: heat/engine/resource.py:594 #, python-format msgid "resuming %s" msgstr "" -#: heat/engine/resource.py:633 +#: heat/engine/resource.py:630 msgid "limit cannot be less than 4" msgstr "" -#: heat/engine/resource.py:639 +#: heat/engine/resource.py:636 #, python-format msgid "Validating %s" msgstr "" -#: heat/engine/resource.py:649 +#: heat/engine/resource.py:645 #, python-format -msgid "Invalid DeletionPolicy %s" +msgid "Invalid deletion policy \"%s\"" msgstr "" -#: heat/engine/resource.py:653 -msgid "Snapshot DeletionPolicy not supported" +#: heat/engine/resource.py:650 +#, python-format +msgid "\"%s\" deletion policy not supported" msgstr "" -#: heat/engine/resource.py:671 +#: heat/engine/resource.py:668 #, python-format msgid "deleting %s" msgstr "" @@ -1593,7 +1546,7 @@ msgstr "" msgid "Error marking resource deletion failed" msgstr "" -#: heat/engine/resource.py:734 +#: heat/engine/resource.py:733 #, python-format msgid "db error %s" msgstr "" @@ -1603,17 +1556,17 @@ msgstr "" msgid "DB error %s" msgstr "" -#: heat/engine/resource.py:882 +#: heat/engine/resource.py:891 #, python-format msgid "Resource %s is not able to receive a signal" msgstr "" -#: heat/engine/resource.py:889 +#: heat/engine/resource.py:898 #, python-format msgid "signal %(name)s : %(msg)s" msgstr "" -#: heat/engine/resource.py:902 +#: heat/engine/resource.py:912 #, python-format msgid "Resource %s does not implement metadata update" msgstr "" @@ -1623,197 +1576,142 @@ msgstr "" msgid "%s Timed out" msgstr "" -#: heat/engine/scheduler.py:131 -#, python-format -msgid "%s sleeping" -msgstr "" - -#: heat/engine/scheduler.py:154 -#, python-format -msgid "%s starting" -msgstr "" - -#: heat/engine/scheduler.py:166 -#, python-format -msgid "%s done (not resumable)" -msgstr "" - #: heat/engine/scheduler.py:177 #, python-format msgid "%s timed out" msgstr "" -#: heat/engine/scheduler.py:187 -#, python-format -msgid "%s running" -msgstr "" - -#: heat/engine/scheduler.py:193 -#, python-format -msgid "%s complete" -msgstr "" - -#: heat/engine/scheduler.py:210 -#, python-format -msgid "%s cancelled" -msgstr "" - -#: heat/engine/service.py:196 -#, python-format -msgid "Periodic watcher task for stack %s" -msgstr "" - -#: heat/engine/service.py:200 +#: heat/engine/service.py:216 #, python-format msgid "Unable to retrieve stack %s for periodic task" msgstr "" -#: heat/engine/service.py:214 +#: heat/engine/service.py:230 #, python-format msgid "periodic_task db error watch rule removed? %(ex)s" msgstr "" -#: heat/engine/service.py:288 -#, python-format -msgid "Starting listener for engine %s" +#: heat/engine/service.py:352 +msgid "Attempting to stop engine service..." msgstr "" -#: heat/engine/service.py:438 +#: heat/engine/service.py:363 +#, python-format +msgid "Waiting stack %s processing to be finished" +msgstr "" + +#: heat/engine/service.py:367 +#, python-format +msgid "Stack %s processing was finished" +msgstr "" + +#: heat/engine/service.py:370 +msgid "All threads were gone, terminating engine" +msgstr "" + +#: heat/engine/service.py:489 #, python-format msgid "" "You have reached the maximum stacks per tenant, %d. Please delete some " "stacks." msgstr "" -#: heat/engine/service.py:463 +#: heat/engine/service.py:514 #, python-format msgid "previewing stack %s" msgstr "" -#: heat/engine/service.py:491 heat/engine/service.py:544 +#: heat/engine/service.py:542 #, python-format -msgid "template is %s" +msgid "Creating stack %s" msgstr "" -#: heat/engine/service.py:505 +#: heat/engine/service.py:557 #, python-format msgid "Stack create failed, status %s" msgstr "" -#: heat/engine/service.py:552 +#: heat/engine/service.py:595 +#, python-format +msgid "Updating stack %s" +msgstr "" + +#: heat/engine/service.py:600 msgid "Updating a stack when it is suspended" msgstr "" -#: heat/engine/service.py:556 -msgid "Updating a stack when another action is in progress" -msgstr "" - -#: heat/engine/service.py:594 -msgid "validate_template" -msgstr "" - -#: heat/engine/service.py:596 +#: heat/engine/service.py:640 msgid "No Template provided." msgstr "" -#: heat/engine/service.py:684 +#: heat/engine/service.py:734 #, python-format msgid "Deleting stack %s" msgstr "" -#: heat/engine/service.py:704 -#, python-format -msgid "Successfully stopped remote task on engine %s" -msgstr "" - -#: heat/engine/service.py:736 +#: heat/engine/service.py:779 #, python-format msgid "abandoning stack %s" msgstr "" -#: heat/engine/service.py:870 +#: heat/engine/service.py:897 #, python-format msgid "Access denied to resource %s" msgstr "" -#: heat/engine/service.py:951 -#, python-format -msgid "suspending stack %s" -msgstr "" - -#: heat/engine/service.py:966 -#, python-format -msgid "resuming stack %s" -msgstr "" - -#: heat/engine/service.py:1049 +#: heat/engine/service.py:1082 #, python-format msgid "show_watch (all) db error %s" msgstr "" -#: heat/engine/service.py:1072 +#: heat/engine/service.py:1105 msgid "Filtering by namespace/metric not yet supported" msgstr "" -#: heat/engine/service.py:1078 +#: heat/engine/service.py:1111 #, python-format msgid "show_metric (all) db error %s" msgstr "" -#: heat/engine/service.py:1140 +#: heat/engine/service.py:1173 msgid "server_id must be specified" msgstr "" -#: heat/engine/signal_responder.py:76 +#: heat/engine/signal_responder.py:68 msgid "Cannot generate signed url, no stored access/secret key" msgstr "" -#: heat/engine/stack_lock.py:69 -#, python-format -msgid "Engine %(engine)s acquired lock on stack %(stack)s" -msgstr "" - -#: heat/engine/stack_lock.py:76 -#, python-format -msgid "Lock on stack %(stack)s is owned by engine %(engine)s" -msgstr "" - -#: heat/engine/stack_lock.py:82 +#: heat/engine/stack_lock.py:83 #, python-format msgid "" "Stale lock detected on stack %(stack)s. Engine %(engine)s will attempt " "to steal the lock" msgstr "" -#: heat/engine/stack_lock.py:90 +#: heat/engine/stack_lock.py:91 #, python-format msgid "Engine %(engine)s successfully stole the lock on stack %(stack)s" msgstr "" -#: heat/engine/stack_lock.py:97 +#: heat/engine/stack_lock.py:98 #, python-format msgid "" "The lock on stack %(stack)s was released while engine %(engine)s was " "stealing it. Trying again" msgstr "" -#: heat/engine/stack_lock.py:104 +#: heat/engine/stack_lock.py:105 #, python-format msgid "" "Failed to steal lock on stack %(stack)s. Engine %(engine)s stole the lock" " first" msgstr "" -#: heat/engine/stack_lock.py:117 +#: heat/engine/stack_lock.py:118 #, python-format msgid "Lock was already released on stack %s!" msgstr "" -#: heat/engine/stack_lock.py:120 -#, python-format -msgid "Engine %(engine)s released lock on stack %(stack)s" -msgstr "" - #: heat/engine/stack_resource.py:68 msgid "Nested stack not found in DB" msgstr "" @@ -1823,40 +1721,40 @@ msgstr "" msgid "Preview of '%s' not yet implemented" msgstr "" -#: heat/engine/stack_resource.py:134 +#: heat/engine/stack_resource.py:151 #, python-format msgid "Recursion depth exceeds %d." msgstr "" -#: heat/engine/stack_resource.py:189 +#: heat/engine/stack_resource.py:211 #, python-format msgid "Cannot update %s, stack not created" msgstr "" -#: heat/engine/stack_resource.py:232 +#: heat/engine/stack_resource.py:256 #, python-format msgid "Nested stack UPDATE failed: %s" msgstr "" -#: heat/engine/stack_resource.py:243 +#: heat/engine/stack_resource.py:267 msgid "Stack not found to delete" msgstr "" -#: heat/engine/stack_resource.py:266 +#: heat/engine/stack_resource.py:290 #, python-format msgid "Cannot suspend %s, stack not created" msgstr "" -#: heat/engine/stack_resource.py:288 +#: heat/engine/stack_resource.py:312 #, python-format msgid "Cannot resume %s, stack not created" msgstr "" -#: heat/engine/stack_user.py:84 +#: heat/engine/stack_user.py:83 msgid "Reverting to legacy user delete path" msgstr "" -#: heat/engine/stack_user.py:121 +#: heat/engine/stack_user.py:117 #, python-format msgid "Error creating ec2 keypair for user %s" msgstr "" @@ -1866,11 +1764,15 @@ msgstr "" msgid "Specified status is invalid, defaulting to %s" msgstr "" -#: heat/engine/template.py:68 +#: heat/engine/template.py:65 #, python-format msgid "Ambiguous versions (%s)" msgstr "" +#: heat/engine/template.py:70 +msgid "Template version was not provided" +msgstr "" + #: heat/engine/template.py:94 #, python-format msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s" @@ -1881,42 +1783,22 @@ msgstr "" msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s" msgstr "" -#: heat/engine/template.py:195 +#: heat/engine/template.py:218 msgid "" "Template does not contain any resources, so the template would not really" " do anything when being instantiated." msgstr "" -#: heat/engine/template.py:202 +#: heat/engine/template.py:225 msgid "Every Resource object must contain a Type member." msgstr "" -#: heat/engine/template.py:209 +#: heat/engine/template.py:232 #, python-format msgid "Resources must contain Resource. Found a [%s] instead" msgstr "" -#: heat/engine/update.py:79 -#, python-format -msgid "Deleting backup resource %s" -msgstr "" - -#: heat/engine/update.py:103 -#, python-format -msgid "Swapping in backup Resource %s" -msgstr "" - -#: heat/engine/update.py:109 -#, python-format -msgid "Deleting backup Resource %s" -msgstr "" - -#: heat/engine/update.py:114 -#, python-format -msgid "Backing up existing Resource %s" -msgstr "" - -#: heat/engine/update.py:134 +#: heat/engine/update.py:131 #, python-format msgid "Resource %(res_name)s for stack %(stack_name)s updated" msgstr "" @@ -1926,196 +1808,180 @@ msgstr "" msgid "WatchRule.load (%(watch_name)s) db error %(ex)s" msgstr "" -#: heat/engine/watchrule.py:213 -#, python-format -msgid "ignoring %s" -msgstr "" - -#: heat/engine/watchrule.py:250 +#: heat/engine/watchrule.py:249 #, python-format msgid "WATCH: stack:%(stack)s, watch_name:%(watch_name)s, new_state:%(new_state)s" msgstr "" -#: heat/engine/watchrule.py:256 +#: heat/engine/watchrule.py:255 #, python-format msgid "no action for new state %s" msgstr "" -#: heat/engine/watchrule.py:266 +#: heat/engine/watchrule.py:265 #, python-format msgid "Could not process watch state %s for stack" msgstr "" -#: heat/engine/watchrule.py:287 -#, python-format -msgid "new sample:%(k)s data:%(sample)s" -msgstr "" - -#: heat/engine/watchrule.py:300 -#, python-format -msgid "Ignoring metric data for %s, SUSPENDED state" -msgstr "" - -#: heat/engine/watchrule.py:310 -#, python-format -msgid "Ignoring metric data (only accept %(metric)s) : %(data)s" -msgstr "" - -#: heat/engine/watchrule.py:320 -#, python-format -msgid "new watch:%(name)s data:%(data)s" -msgstr "" - -#: heat/engine/watchrule.py:328 +#: heat/engine/watchrule.py:327 #, python-format msgid "Invalid watch state %s" msgstr "" -#: heat/engine/watchrule.py:340 +#: heat/engine/watchrule.py:339 #, python-format msgid "Unknown watch state %s" msgstr "" -#: heat/engine/watchrule.py:346 -#, python-format -msgid "Overriding state %(self_state)s for watch %(name)s with %(state)s" -msgstr "" - -#: heat/engine/watchrule.py:351 +#: heat/engine/watchrule.py:350 #, python-format msgid "Unable to override state %(state)s for watch %(name)s" msgstr "" -#: heat/engine/cfn/functions.py:148 +#: heat/engine/cfn/functions.py:158 #, python-format msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]" msgstr "" -#: heat/engine/cfn/functions.py:197 +#: heat/engine/cfn/functions.py:210 #, python-format msgid "Arguments to \"%s\" must be of the form [index, collection]" msgstr "" -#: heat/engine/cfn/functions.py:223 +#: heat/engine/cfn/functions.py:236 #, python-format msgid "\"%(fn_name)s\": %(err)s" msgstr "" -#: heat/engine/cfn/functions.py:227 +#: heat/engine/cfn/functions.py:240 #, python-format msgid "Index to \"%s\" must be a string" msgstr "" -#: heat/engine/cfn/functions.py:234 +#: heat/engine/cfn/functions.py:247 #, python-format msgid "Index to \"%s\" must be an integer" msgstr "" -#: heat/engine/cfn/functions.py:245 +#: heat/engine/cfn/functions.py:258 #, python-format msgid "Arguments to %s not fully resolved" msgstr "" -#: heat/engine/cfn/functions.py:270 heat/engine/cfn/functions.py:276 -#: heat/engine/cfn/functions.py:321 heat/engine/cfn/functions.py:327 -#: heat/engine/cfn/functions.py:380 heat/engine/cfn/functions.py:386 +#: heat/engine/cfn/functions.py:283 heat/engine/cfn/functions.py:289 +#: heat/engine/cfn/functions.py:334 heat/engine/cfn/functions.py:340 +#: heat/engine/cfn/functions.py:393 heat/engine/cfn/functions.py:399 #, python-format msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s" msgstr "" -#: heat/engine/cfn/functions.py:283 +#: heat/engine/cfn/functions.py:296 #, python-format msgid "\"%s\" must operate on a list" msgstr "" -#: heat/engine/cfn/functions.py:287 +#: heat/engine/cfn/functions.py:300 #, python-format msgid "\"%s\" delimiter must be a string" msgstr "" -#: heat/engine/cfn/functions.py:294 +#: heat/engine/cfn/functions.py:307 msgid "Items to join must be strings" msgstr "" -#: heat/engine/cfn/functions.py:334 +#: heat/engine/cfn/functions.py:347 #, python-format msgid "Delimiter for %s must be string" msgstr "" -#: heat/engine/cfn/functions.py:337 +#: heat/engine/cfn/functions.py:350 #, python-format msgid "String to split must be string; got %s" msgstr "" -#: heat/engine/cfn/functions.py:368 +#: heat/engine/cfn/functions.py:381 #, python-format msgid "\"%s\" parameters must be a mapping" msgstr "" -#: heat/engine/cfn/functions.py:396 +#: heat/engine/cfn/functions.py:409 #, python-format msgid "\"%s\" template must be a string" msgstr "" -#: heat/engine/cfn/functions.py:399 +#: heat/engine/cfn/functions.py:412 #, python-format msgid "\"%s\" params must be a map" msgstr "" -#: heat/engine/cfn/functions.py:405 +#: heat/engine/cfn/functions.py:418 #, python-format msgid "\"%s\" param placeholders must be strings" msgstr "" -#: heat/engine/cfn/functions.py:412 +#: heat/engine/cfn/functions.py:425 #, python-format msgid "\"%s\" params must be strings or numbers" msgstr "" -#: heat/engine/cfn/functions.py:436 +#: heat/engine/cfn/functions.py:449 #, python-format msgid "\"%s\" argument must be a string" msgstr "" -#: heat/engine/cfn/functions.py:471 +#: heat/engine/cfn/functions.py:484 #, python-format msgid "Wrong Arguments try: \"%s\"" msgstr "" -#: heat/engine/cfn/functions.py:474 +#: heat/engine/cfn/functions.py:487 #, python-format msgid "%s Key Name must be a string" msgstr "" -#: heat/engine/cfn/functions.py:477 +#: heat/engine/cfn/functions.py:490 #, python-format msgid "%s Value Name must be a string" msgstr "" -#: heat/engine/cfn/functions.py:483 +#: heat/engine/cfn/functions.py:496 msgid "Member list must be a list" msgstr "" -#: heat/engine/cfn/functions.py:487 +#: heat/engine/cfn/functions.py:500 msgid "Member list items must be strings" msgstr "" -#: heat/engine/cfn/functions.py:522 +#: heat/engine/cfn/functions.py:535 #, python-format msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s" msgstr "" -#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48 -#: heat/engine/hot/template.py:52 +#: heat/engine/cfn/template.py:46 heat/engine/hot/template.py:58 +#: heat/engine/hot/template.py:62 #, python-format msgid "\"%s\" is not a valid template section" msgstr "" -#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55 +#: heat/engine/cfn/template.py:49 heat/engine/hot/template.py:65 #, python-format msgid "Section %s can not be accessed directly." msgstr "" +#: heat/engine/cfn/template.py:76 heat/engine/hot/template.py:166 +#, python-format +msgid "Resource %(name)s %(key)s typemust be %(typename)s" +msgstr "" + +#: heat/engine/cfn/template.py:86 heat/engine/hot/template.py:176 +#, python-format +msgid "Resource %(name)s is missing \"%(type_key)s\"" +msgstr "" + +#: heat/engine/clients/__init__.py:172 +msgid "Neutron connection failed, no auth_token!" +msgstr "" + #: heat/engine/hot/functions.py:46 #, python-format msgid "Function \"%s\" must have arguments" @@ -2175,695 +2041,757 @@ msgid "" "%(file_key)s" msgstr "" -#: heat/engine/hot/parameters.py:70 +#: heat/engine/hot/parameters.py:67 #, python-format msgid "Invalid parameter constraints for parameter %s, expected a list" msgstr "" -#: heat/engine/hot/parameters.py:103 +#: heat/engine/hot/parameters.py:100 msgid "No constraint expressed" msgstr "" -#: heat/engine/hot/template.py:106 +#: heat/engine/hot/template.py:115 heat/engine/hot/template.py:207 #, python-format msgid "\"%s\" is not a valid keyword inside a resource definition" msgstr "" -#: heat/engine/hot/template.py:126 +#: heat/engine/hot/template.py:135 #, python-format msgid "\"%s\" is not a valid keyword inside an output definition" msgstr "" -#: heat/engine/resources/autoscaling.py:104 -#: heat/engine/resources/autoscaling.py:463 -#: heat/engine/resources/autoscaling.py:496 -#: heat/engine/resources/autoscaling.py:501 -#: heat/engine/resources/autoscaling.py:784 -#: heat/engine/resources/autoscaling.py:789 -#: heat/engine/resources/autoscaling.py:794 -#: heat/engine/resources/instance.py:173 heat/engine/resources/instance.py:178 -#: heat/engine/resources/instance.py:183 heat/engine/resources/instance.py:188 -#: heat/engine/resources/instance.py:193 heat/engine/resources/instance.py:198 -#: heat/engine/resources/instance.py:215 heat/engine/resources/instance.py:259 -#: heat/engine/resources/loadbalancer.py:309 -#: heat/engine/resources/loadbalancer.py:314 -#: heat/engine/resources/loadbalancer.py:323 -#: heat/engine/resources/loadbalancer.py:328 -#: heat/engine/resources/loadbalancer.py:333 -#: heat/engine/resources/loadbalancer.py:338 heat/engine/resources/user.py:47 -#: heat/engine/resources/user.py:51 heat/engine/resources/user.py:138 -#: heat/engine/resources/user.py:148 +#: heat/engine/resources/autoscaling.py:110 +#: heat/engine/resources/autoscaling.py:476 +#: heat/engine/resources/autoscaling.py:509 +#: heat/engine/resources/autoscaling.py:514 +#: heat/engine/resources/autoscaling.py:793 +#: heat/engine/resources/autoscaling.py:798 +#: heat/engine/resources/autoscaling.py:803 +#: heat/engine/resources/instance.py:191 heat/engine/resources/instance.py:196 +#: heat/engine/resources/instance.py:201 heat/engine/resources/instance.py:206 +#: heat/engine/resources/instance.py:211 heat/engine/resources/instance.py:216 +#: heat/engine/resources/instance.py:234 heat/engine/resources/instance.py:279 +#: heat/engine/resources/loadbalancer.py:317 +#: heat/engine/resources/loadbalancer.py:322 +#: heat/engine/resources/loadbalancer.py:331 +#: heat/engine/resources/loadbalancer.py:336 +#: heat/engine/resources/loadbalancer.py:341 +#: heat/engine/resources/loadbalancer.py:346 heat/engine/resources/user.py:47 +#: heat/engine/resources/user.py:51 heat/engine/resources/user.py:143 +#: heat/engine/resources/user.py:153 msgid "Not Implemented." msgstr "" -#: heat/engine/resources/autoscaling.py:109 -#: heat/engine/resources/autoscaling.py:468 +#: heat/engine/resources/autoscaling.py:115 +#: heat/engine/resources/autoscaling.py:481 msgid "Name of LaunchConfiguration resource." msgstr "" -#: heat/engine/resources/autoscaling.py:115 +#: heat/engine/resources/autoscaling.py:121 msgid "Desired number of instances." msgstr "" -#: heat/engine/resources/autoscaling.py:121 -#: heat/engine/resources/autoscaling.py:509 +#: heat/engine/resources/autoscaling.py:127 +#: heat/engine/resources/autoscaling.py:522 msgid "List of LoadBalancer resources." msgstr "" -#: heat/engine/resources/autoscaling.py:125 -#: heat/engine/resources/autoscaling.py:517 +#: heat/engine/resources/autoscaling.py:131 +#: heat/engine/resources/autoscaling.py:538 msgid "Tags to attach to this group." msgstr "" -#: heat/engine/resources/autoscaling.py:145 +#: heat/engine/resources/autoscaling.py:150 msgid "A comma-delimited list of server ip addresses. (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:404 +#: heat/engine/resources/autoscaling.py:411 #, python-format msgid "Unsupported resource '%s' in LoadBalancerNames" msgstr "" -#: heat/engine/resources/autoscaling.py:474 +#: heat/engine/resources/autoscaling.py:487 msgid "Maximum number of instances in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:480 +#: heat/engine/resources/autoscaling.py:493 msgid "Minimum number of instances in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:486 -#: heat/engine/resources/autoscaling.py:854 -#: heat/engine/resources/autoscaling.py:955 -#: heat/engine/resources/autoscaling.py:1095 +#: heat/engine/resources/autoscaling.py:499 +#: heat/engine/resources/autoscaling.py:872 +#: heat/engine/resources/autoscaling.py:984 +#: heat/engine/resources/autoscaling.py:1125 msgid "Cooldown period, in seconds." msgstr "" -#: heat/engine/resources/autoscaling.py:491 +#: heat/engine/resources/autoscaling.py:504 msgid "Desired initial number of instances." msgstr "" -#: heat/engine/resources/autoscaling.py:513 -msgid "List of VPC subnet identifiers." +#: heat/engine/resources/autoscaling.py:526 +msgid "" +"Use only with Neutron, to list the internal subnet to which the instance " +"will be attached; needed only if multiple exist; list length must be " +"exactly 1." msgstr "" -#: heat/engine/resources/autoscaling.py:621 +#: heat/engine/resources/autoscaling.py:532 +msgid "UUID of the internal subnet to which the instance will be attached." +msgstr "" + +#: heat/engine/resources/autoscaling.py:630 #, python-format msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s" msgstr "" -#: heat/engine/resources/autoscaling.py:648 +#: heat/engine/resources/autoscaling.py:657 #, python-format msgid "truncating growth to %s" msgstr "" -#: heat/engine/resources/autoscaling.py:651 +#: heat/engine/resources/autoscaling.py:660 #, python-format msgid "can not exceed %s" msgstr "" -#: heat/engine/resources/autoscaling.py:655 +#: heat/engine/resources/autoscaling.py:664 #, python-format msgid "truncating shrinkage to %s" msgstr "" -#: heat/engine/resources/autoscaling.py:658 +#: heat/engine/resources/autoscaling.py:667 #, python-format msgid "can not be less than %s" msgstr "" -#: heat/engine/resources/autoscaling.py:662 -#, python-format -msgid "no change in capacity %d" -msgstr "" - -#: heat/engine/resources/autoscaling.py:672 +#: heat/engine/resources/autoscaling.py:681 #, python-format msgid "Start resizing the group %(group)s" msgstr "" -#: heat/engine/resources/autoscaling.py:687 +#: heat/engine/resources/autoscaling.py:696 msgid "Failed sending error notification" msgstr "" -#: heat/engine/resources/autoscaling.py:692 +#: heat/engine/resources/autoscaling.py:701 #, python-format msgid "End resizing the group %(group)s" msgstr "" -#: heat/engine/resources/autoscaling.py:720 +#: heat/engine/resources/autoscaling.py:729 msgid "MinSize can not be greater than MaxSize" msgstr "" -#: heat/engine/resources/autoscaling.py:724 +#: heat/engine/resources/autoscaling.py:733 msgid "The size of AutoScalingGroup can not be less than zero" msgstr "" -#: heat/engine/resources/autoscaling.py:730 +#: heat/engine/resources/autoscaling.py:739 msgid "DesiredCapacity must be between MinSize and MaxSize" msgstr "" -#: heat/engine/resources/autoscaling.py:739 +#: heat/engine/resources/autoscaling.py:748 msgid "Anything other than one VPCZoneIdentifier" msgstr "" -#: heat/engine/resources/autoscaling.py:762 -#: heat/engine/resources/instance.py:146 +#: heat/engine/resources/autoscaling.py:771 +#: heat/engine/resources/instance.py:164 msgid "Glance image ID or name." msgstr "" -#: heat/engine/resources/autoscaling.py:767 -#: heat/engine/resources/instance.py:156 +#: heat/engine/resources/autoscaling.py:776 +#: heat/engine/resources/instance.py:174 msgid "Nova instance type (flavor)." msgstr "" -#: heat/engine/resources/autoscaling.py:772 -#: heat/engine/resources/instance.py:162 +#: heat/engine/resources/autoscaling.py:781 +#: heat/engine/resources/instance.py:180 msgid "Optional Nova keypair name." msgstr "" -#: heat/engine/resources/autoscaling.py:776 -#: heat/engine/resources/instance.py:267 +#: heat/engine/resources/autoscaling.py:785 +#: heat/engine/resources/instance.py:287 msgid "User data to pass to instance." msgstr "" -#: heat/engine/resources/autoscaling.py:780 -#: heat/engine/resources/instance.py:203 +#: heat/engine/resources/autoscaling.py:789 +#: heat/engine/resources/instance.py:221 msgid "Security group names to assign." msgstr "" -#: heat/engine/resources/autoscaling.py:799 -#: heat/engine/resources/instance.py:242 +#: heat/engine/resources/autoscaling.py:808 +#: heat/engine/resources/instance.py:262 msgid "Scheduler hints to pass to Nova (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:832 +#: heat/engine/resources/autoscaling.py:849 msgid "" "Resource definition for the resources in the group, in HOT format. The " "value of this property is the definition of a resource just as if it had " "been declared in the template itself." msgstr "" -#: heat/engine/resources/autoscaling.py:840 +#: heat/engine/resources/autoscaling.py:858 msgid "Maximum number of resources in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:847 +#: heat/engine/resources/autoscaling.py:865 msgid "Minimum number of resources in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:859 +#: heat/engine/resources/autoscaling.py:877 msgid "Desired initial number of resources." msgstr "" -#: heat/engine/resources/autoscaling.py:933 +#: heat/engine/resources/autoscaling.py:882 +msgid "Policy for rolling updates for this scaling group." +msgstr "" + +#: heat/engine/resources/autoscaling.py:888 +msgid "" +"The minimum number of resources in service while rolling updates are " +"being executed." +msgstr "" + +#: heat/engine/resources/autoscaling.py:894 +msgid "The maximum number of resources to replace at once." +msgstr "" + +#: heat/engine/resources/autoscaling.py:899 +msgid "The number of seconds to wait between batches of updates." +msgstr "" + +#: heat/engine/resources/autoscaling.py:962 msgid "AutoScaling group name to apply policy to." msgstr "" -#: heat/engine/resources/autoscaling.py:938 -#: heat/engine/resources/autoscaling.py:1078 +#: heat/engine/resources/autoscaling.py:967 +#: heat/engine/resources/autoscaling.py:1108 msgid "Size of adjustment." msgstr "" -#: heat/engine/resources/autoscaling.py:944 -#: heat/engine/resources/autoscaling.py:1084 +#: heat/engine/resources/autoscaling.py:973 +#: heat/engine/resources/autoscaling.py:1114 msgid "Type of adjustment (absolute or percentage)." msgstr "" -#: heat/engine/resources/autoscaling.py:963 +#: heat/engine/resources/autoscaling.py:991 msgid "A signed url to handle the alarm. (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:988 -#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115 +#: heat/engine/resources/autoscaling.py:1013 +#: heat/engine/resources/instance.py:83 heat/tests/generic_resource.py:131 #, python-format msgid "Cannot signal resource during %s" msgstr "" -#: heat/engine/resources/autoscaling.py:1005 -#: heat/engine/resources/instance.py:80 +#: heat/engine/resources/autoscaling.py:1030 +#: heat/engine/resources/instance.py:91 #, python-format msgid "%(name)s Alarm, new state %(state)s" msgstr "" -#: heat/engine/resources/autoscaling.py:1011 +#: heat/engine/resources/autoscaling.py:1036 #, python-format msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s" msgstr "" -#: heat/engine/resources/autoscaling.py:1020 +#: heat/engine/resources/autoscaling.py:1045 #, python-format msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\"" msgstr "" -#: heat/engine/resources/autoscaling.py:1025 +#: heat/engine/resources/autoscaling.py:1050 #, python-format msgid "" "%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by " "%(filter)s" msgstr "" -#: heat/engine/resources/autoscaling.py:1073 +#: heat/engine/resources/autoscaling.py:1103 msgid "AutoScaling group ID to apply policy to." msgstr "" -#: heat/engine/resources/autoscaling.py:1103 +#: heat/engine/resources/autoscaling.py:1132 msgid "A signed url to handle the alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:41 +#: heat/engine/resources/cloud_watch.py:37 msgid "Operator used to compare the specified Statistic with Threshold." msgstr "" -#: heat/engine/resources/cloud_watch.py:53 -#: heat/engine/resources/ceilometer/alarm.py:33 +#: heat/engine/resources/cloud_watch.py:49 +#: heat/engine/resources/ceilometer/alarm.py:35 msgid "Description for the alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:58 -#: heat/engine/resources/ceilometer/alarm.py:115 +#: heat/engine/resources/cloud_watch.py:54 +#: heat/engine/resources/ceilometer/alarm.py:117 msgid "Number of periods to evaluate over." msgstr "" -#: heat/engine/resources/cloud_watch.py:63 +#: heat/engine/resources/cloud_watch.py:59 msgid "Metric name watched by the alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:67 +#: heat/engine/resources/cloud_watch.py:63 msgid "Namespace for the metric." msgstr "" -#: heat/engine/resources/cloud_watch.py:71 -#: heat/engine/resources/ceilometer/alarm.py:125 +#: heat/engine/resources/cloud_watch.py:67 +#: heat/engine/resources/ceilometer/alarm.py:127 msgid "Period (seconds) to evaluate over." msgstr "" -#: heat/engine/resources/cloud_watch.py:76 +#: heat/engine/resources/cloud_watch.py:72 msgid "Metric statistic to evaluate." msgstr "" -#: heat/engine/resources/cloud_watch.py:85 +#: heat/engine/resources/cloud_watch.py:81 msgid "A list of actions to execute when state transitions to alarm." msgstr "" -#: heat/engine/resources/cloud_watch.py:90 +#: heat/engine/resources/cloud_watch.py:86 msgid "A list of actions to execute when state transitions to ok." msgstr "" -#: heat/engine/resources/cloud_watch.py:95 +#: heat/engine/resources/cloud_watch.py:91 msgid "" "A list of dimensions (arbitrary name/value pairs) associated with the " "metric." msgstr "" -#: heat/engine/resources/cloud_watch.py:100 +#: heat/engine/resources/cloud_watch.py:96 msgid "A list of actions to execute when state transitions to insufficient-data." msgstr "" -#: heat/engine/resources/cloud_watch.py:106 -#: heat/engine/resources/ceilometer/alarm.py:139 +#: heat/engine/resources/cloud_watch.py:102 +#: heat/engine/resources/ceilometer/alarm.py:141 msgid "Threshold to evaluate against." msgstr "" -#: heat/engine/resources/cloud_watch.py:111 +#: heat/engine/resources/cloud_watch.py:107 msgid "Unit for the metric." msgstr "" -#: heat/engine/resources/eip.py:37 +#: heat/engine/resources/eip.py:44 msgid "Set to \"vpc\" to have IP address allocation associated to your VPC." msgstr "" -#: heat/engine/resources/eip.py:45 +#: heat/engine/resources/eip.py:52 msgid "Instance ID to associate with EIP." msgstr "" -#: heat/engine/resources/eip.py:50 +#: heat/engine/resources/eip.py:58 msgid "" "ID that AWS assigns to represent the allocation of the address for use " "with Amazon VPC. Returned only for VPC elastic IP addresses." msgstr "" -#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74 +#: heat/engine/resources/eip.py:76 heat/engine/resources/eip.py:83 #, python-format msgid "Floating IPs not found: %s" msgstr "" -#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108 +#: heat/engine/resources/eip.py:100 heat/engine/resources/eip.py:117 #, python-format msgid "ElasticIp create %s" msgstr "" -#: heat/engine/resources/eip.py:94 +#: heat/engine/resources/eip.py:103 #, python-format msgid "Domain property can not be set on resource %s without Neutron available" msgstr "" -#: heat/engine/resources/eip.py:101 +#: heat/engine/resources/eip.py:110 msgid "" "No default floating IP pool configured. Set 'default_floating_pool' in " "nova.conf." msgstr "" -#: heat/engine/resources/eip.py:158 +#: heat/engine/resources/eip.py:167 msgid "Instance ID to associate with EIP specified by EIP property." msgstr "" -#: heat/engine/resources/eip.py:162 +#: heat/engine/resources/eip.py:171 msgid "EIP address to associate with instance." msgstr "" -#: heat/engine/resources/eip.py:166 +#: heat/engine/resources/eip.py:175 msgid "Allocation ID for VPC EIP address." msgstr "" -#: heat/engine/resources/eip.py:170 +#: heat/engine/resources/eip.py:179 msgid "Network interface ID to associate with EIP." msgstr "" -#: heat/engine/resources/eip.py:187 +#: heat/engine/resources/eip.py:196 msgid "Skipping association, InstanceId not specified" msgstr "" -#: heat/engine/resources/eip.py:193 -#, python-format -msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)" -msgstr "" - -#: heat/engine/resources/eip.py:210 +#: heat/engine/resources/eip.py:218 msgid "Skipping association, resource not specified" msgstr "" -#: heat/engine/resources/instance.py:46 +#: heat/engine/resources/glance_image.py:38 +msgid "" +"Name for the image. The name of an image is not unique to a Image Service" +" node." +msgstr "" + +#: heat/engine/resources/glance_image.py:43 +msgid "The image ID. Glance will generate a UUID if not specified." +msgstr "" + +#: heat/engine/resources/glance_image.py:47 +msgid "" +"Scope of image accessibility. Public or private. Default value is False " +"means private." +msgstr "" + +#: heat/engine/resources/glance_image.py:53 +msgid "" +"Amount of disk space (in GB) required to boot image. Default value is 0 " +"if not specified and means no limit on the disk size." +msgstr "" + +#: heat/engine/resources/glance_image.py:62 +msgid "" +"Amount of ram (in MB) required to boot image. Default value is 0 if not " +"specified and means no limit on the ram size." +msgstr "" + +#: heat/engine/resources/glance_image.py:70 +msgid "" +"Whether the image can be deleted. If the value is True, the image is " +"protected and cannot be deleted." +msgstr "" + +#: heat/engine/resources/glance_image.py:75 +msgid "Disk format of image." +msgstr "" + +#: heat/engine/resources/glance_image.py:85 +msgid "Container format of image." +msgstr "" + +#: heat/engine/resources/glance_image.py:94 +msgid "" +"URL where the data for this image already resides. For example, if the " +"image data is stored in swift, you could specify " +"\"swift://example.com/container/obj\"." +msgstr "" + +#: heat/engine/resources/glance_utils.py:58 +#, python-format +msgid "Error retrieving image list from glance: %s" +msgstr "" + +#: heat/engine/resources/glance_utils.py:61 +#, python-format +msgid "Image %s was not found in glance" +msgstr "" + +#: heat/engine/resources/glance_utils.py:65 +#, python-format +msgid "Multiple images %s were found in glance with name" +msgstr "" + +#: heat/engine/resources/instance.py:56 msgid "Instance ID to be restarted." msgstr "" -#: heat/engine/resources/instance.py:52 +#: heat/engine/resources/instance.py:63 msgid "A signed url to handle the alarm (Heat extension)." msgstr "" -#: heat/engine/resources/instance.py:88 +#: heat/engine/resources/instance.py:99 #, python-format msgid "%(name)s Alarm, can not find instance %(instance)s" msgstr "" -#: heat/engine/resources/instance.py:94 +#: heat/engine/resources/instance.py:104 #, python-format msgid "%(name)s Alarm, restarting resource: %(victim)s" msgstr "" -#: heat/engine/resources/instance.py:169 +#: heat/engine/resources/instance.py:187 msgid "Availability zone to launch the instance in." msgstr "" -#: heat/engine/resources/instance.py:207 +#: heat/engine/resources/instance.py:225 msgid "Security group IDs to assign." msgstr "" -#: heat/engine/resources/instance.py:211 +#: heat/engine/resources/instance.py:229 msgid "Network interfaces to associate with instance." msgstr "" -#: heat/engine/resources/instance.py:220 +#: heat/engine/resources/instance.py:239 msgid "Subnet ID to launch instance in." msgstr "" -#: heat/engine/resources/instance.py:224 +#: heat/engine/resources/instance.py:244 msgid "Tags to attach to instance." msgstr "" -#: heat/engine/resources/instance.py:271 +#: heat/engine/resources/instance.py:291 msgid "Volumes to attach to instance." msgstr "" -#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338 +#: heat/engine/resources/instance.py:298 heat/engine/resources/volume.py:436 msgid "" "The device where the volume is exposed on the instance. This assignment " "may not be honored and it is advised that the path /dev/disk/by-" "id/virtio- be used instead." msgstr "" -#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332 -#: heat/engine/resources/volume.py:547 +#: heat/engine/resources/instance.py:307 heat/engine/resources/volume.py:430 +#: heat/engine/resources/volume.py:707 msgid "The ID of the volume to be attached." msgstr "" -#: heat/engine/resources/instance.py:295 +#: heat/engine/resources/instance.py:317 msgid "The Availability Zone where the specified instance is launched." msgstr "" -#: heat/engine/resources/instance.py:298 +#: heat/engine/resources/instance.py:321 msgid "Private DNS name of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:300 +#: heat/engine/resources/instance.py:324 msgid "Public DNS name of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:302 +#: heat/engine/resources/instance.py:327 msgid "Private IP address of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:304 +#: heat/engine/resources/instance.py:330 msgid "Public IP address of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:345 +#: heat/engine/resources/instance.py:369 #, python-format msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s" msgstr "" -#: heat/engine/resources/instance.py:511 +#: heat/engine/resources/instance.py:533 #, python-format msgid "Creation of server %(server)s failed: %(message)s (%(code)s)" msgstr "" -#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562 +#: heat/engine/resources/instance.py:540 heat/engine/resources/server.py:551 #, python-format msgid "Creation of server %(server)s failed with unknown status: %(status)s" msgstr "" -#: heat/engine/resources/instance.py:598 -#, python-format -msgid "Deletion of server %s failed." -msgstr "" - -#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985 +#: heat/engine/resources/instance.py:743 heat/engine/resources/server.py:987 #, python-format msgid "Cannot suspend %s, resource_id not set" msgstr "" -#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708 +#: heat/engine/resources/instance.py:749 heat/engine/resources/instance.py:804 #, python-format msgid "Failed to find instance %s" msgstr "" -#: heat/engine/resources/instance.py:655 -#, python-format -msgid "suspending instance %s" -msgstr "" - -#: heat/engine/resources/instance.py:677 heat/engine/resources/server.py:1011 -#, python-format -msgid "%(name)s check_suspend_complete status = %(status)s" -msgstr "" - -#: heat/engine/resources/instance.py:685 +#: heat/engine/resources/instance.py:781 #, python-format msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031 +#: heat/engine/resources/instance.py:798 heat/engine/resources/server.py:1032 #, python-format msgid "Cannot resume %s, resource_id not set" msgstr "" -#: heat/engine/resources/instance.py:711 -#, python-format -msgid "resuming instance %s" -msgstr "" - -#: heat/engine/resources/internet_gateway.py:74 +#: heat/engine/resources/internet_gateway.py:71 #, python-format msgid "Expected 1 external network, found %d" msgstr "" -#: heat/engine/resources/internet_gateway.py:90 +#: heat/engine/resources/internet_gateway.py:87 msgid "VPC ID for this gateway association." msgstr "" -#: heat/engine/resources/internet_gateway.py:95 +#: heat/engine/resources/internet_gateway.py:92 msgid "ID of the InternetGateway." msgstr "" -#: heat/engine/resources/internet_gateway.py:99 +#: heat/engine/resources/internet_gateway.py:96 msgid "ID of the VPNGateway to attach to the VPC." msgstr "" -#: heat/engine/resources/loadbalancer.py:238 +#: heat/engine/resources/loadbalancer.py:246 msgid "The Availability Zones in which to create the load balancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:243 +#: heat/engine/resources/loadbalancer.py:251 msgid "An application health check for the instances." msgstr "" -#: heat/engine/resources/loadbalancer.py:247 +#: heat/engine/resources/loadbalancer.py:255 msgid "" "The number of consecutive health probe successes required before moving " "the instance to the healthy state." msgstr "" -#: heat/engine/resources/loadbalancer.py:254 +#: heat/engine/resources/loadbalancer.py:262 msgid "" "The approximate interval, in seconds, between health checks of an " "individual instance." msgstr "" -#: heat/engine/resources/loadbalancer.py:260 +#: heat/engine/resources/loadbalancer.py:268 msgid "The port being checked." msgstr "" -#: heat/engine/resources/loadbalancer.py:265 +#: heat/engine/resources/loadbalancer.py:273 msgid "Health probe timeout, in seconds." msgstr "" -#: heat/engine/resources/loadbalancer.py:270 +#: heat/engine/resources/loadbalancer.py:278 msgid "" "The number of consecutive health probe failures required before moving " "the instance to the unhealthy state" msgstr "" -#: heat/engine/resources/loadbalancer.py:279 +#: heat/engine/resources/loadbalancer.py:287 msgid "The list of instance IDs load balanced." msgstr "" -#: heat/engine/resources/loadbalancer.py:284 +#: heat/engine/resources/loadbalancer.py:292 msgid "One or more listeners for this load balancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:290 +#: heat/engine/resources/loadbalancer.py:298 msgid "TCP port on which the instance server is listening." msgstr "" -#: heat/engine/resources/loadbalancer.py:296 +#: heat/engine/resources/loadbalancer.py:304 msgid "The external load balancer port number." msgstr "" -#: heat/engine/resources/loadbalancer.py:301 +#: heat/engine/resources/loadbalancer.py:309 msgid "The load balancer transport protocol to use." msgstr "" -#: heat/engine/resources/loadbalancer.py:344 +#: heat/engine/resources/loadbalancer.py:353 msgid "The name of the hosted zone that is associated with the LoadBalancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:346 +#: heat/engine/resources/loadbalancer.py:357 msgid "The ID of the hosted zone name that is associated with the LoadBalancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:349 +#: heat/engine/resources/loadbalancer.py:361 msgid "The DNS name for the LoadBalancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:350 +#: heat/engine/resources/loadbalancer.py:364 msgid "" "The security group that you can use as part of your inbound rules for " "your LoadBalancer's back-end instances." msgstr "" -#: heat/engine/resources/loadbalancer.py:354 +#: heat/engine/resources/loadbalancer.py:368 msgid "Owner of the source security group." msgstr "" -#: heat/engine/resources/loadbalancer.py:416 -#, python-format -msgid "haproxy server:%s" -msgstr "" - -#: heat/engine/resources/loadbalancer.py:427 +#: heat/engine/resources/loadbalancer.py:439 #, python-format msgid "Using custom loadbalancer template %s" msgstr "" -#: heat/engine/resources/loadbalancer.py:496 +#: heat/engine/resources/loadbalancer.py:508 msgid "Custom LoadBalancer template can not be found" msgstr "" -#: heat/engine/resources/network_interface.py:42 +#: heat/engine/resources/network_interface.py:46 msgid "Description for this interface." msgstr "" -#: heat/engine/resources/network_interface.py:46 +#: heat/engine/resources/network_interface.py:50 msgid "List of security group IDs associated with this interface." msgstr "" -#: heat/engine/resources/network_interface.py:54 +#: heat/engine/resources/network_interface.py:58 msgid "Flag indicating if traffic to or from instance is validated." msgstr "" -#: heat/engine/resources/network_interface.py:59 +#: heat/engine/resources/network_interface.py:63 msgid "Subnet ID to associate with this interface." msgstr "" -#: heat/engine/resources/network_interface.py:66 +#: heat/engine/resources/network_interface.py:70 msgid "List of tags associated with this interface." msgstr "" -#: heat/engine/resources/network_interface.py:82 +#: heat/engine/resources/network_interface.py:88 msgid "Private IP address of the network interface." msgstr "" -#: heat/engine/resources/nova_floatingip.py:30 +#: heat/engine/resources/nova_floatingip.py:37 msgid "Allocate a floating IP from a given floating IP pool." msgstr "" -#: heat/engine/resources/nova_floatingip.py:36 +#: heat/engine/resources/nova_floatingip.py:44 msgid "Pool from which floating IP is allocated." msgstr "" -#: heat/engine/resources/nova_floatingip.py:37 +#: heat/engine/resources/nova_floatingip.py:47 msgid "Allocated floating IP address." msgstr "" -#: heat/engine/resources/nova_floatingip.py:57 +#: heat/engine/resources/nova_floatingip.py:68 msgid "" "Could not allocate floating IP. Probably there is no default floating IP " "pool is configured." msgstr "" -#: heat/engine/resources/nova_floatingip.py:90 +#: heat/engine/resources/nova_floatingip.py:101 msgid "Server to assign floating IP to." msgstr "" -#: heat/engine/resources/nova_floatingip.py:95 +#: heat/engine/resources/nova_floatingip.py:107 msgid "ID of the floating IP to assign to the server." msgstr "" -#: heat/engine/resources/nova_keypair.py:51 +#: heat/engine/resources/nova_keypair.py:54 msgid "The name of the key pair." msgstr "" -#: heat/engine/resources/nova_keypair.py:56 +#: heat/engine/resources/nova_keypair.py:59 msgid "" "True if the system should remember a generated private key; False " "otherwise." msgstr "" -#: heat/engine/resources/nova_keypair.py:62 +#: heat/engine/resources/nova_keypair.py:65 msgid "" "The optional public key. This allows users to supply the public key from " "a pre-existing key pair. If not supplied, a new key pair will be " "generated." msgstr "" -#: heat/engine/resources/nova_keypair.py:69 +#: heat/engine/resources/nova_keypair.py:73 msgid "The public key." msgstr "" -#: heat/engine/resources/nova_keypair.py:70 +#: heat/engine/resources/nova_keypair.py:76 msgid "The private key if it has been saved." msgstr "" +#: heat/engine/resources/nova_servergroup.py:35 +msgid "Server Group name." +msgstr "" + +#: heat/engine/resources/nova_servergroup.py:39 +msgid "A list of string policies to apply.Defaults to anti-affinity." +msgstr "" + #: heat/engine/resources/nova_utils.py:56 #, python-format msgid "" @@ -2871,341 +2799,376 @@ msgid "" "server.get(): %(exception)s" msgstr "" -#: heat/engine/resources/nova_utils.py:63 +#: heat/engine/resources/nova_utils.py:64 #, python-format msgid "" "Server \"%(name)s\" (%(id)s) received the following exception during " "server.get(): %(exception)s" msgstr "" -#: heat/engine/resources/nova_utils.py:85 -#: heat/engine/resources/nova_utils.py:98 -#, python-format -msgid "Image %s was not found in glance" -msgstr "" - -#: heat/engine/resources/nova_utils.py:93 -#, python-format -msgid "Error retrieving image list from nova: %s" -msgstr "" - -#: heat/engine/resources/nova_utils.py:102 -#, python-format -msgid "Multiple images %s were found in glance with name" -msgstr "" - -#: heat/engine/resources/nova_utils.py:317 +#: heat/engine/resources/nova_utils.py:280 #, python-format msgid "Resizing to '%(flavor)s' failed, status '%(status)s'" msgstr "" -#: heat/engine/resources/nova_utils.py:339 +#: heat/engine/resources/nova_utils.py:302 #, python-format msgid "Rebuilding server failed, status '%s'" msgstr "" -#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639 +#: heat/engine/resources/nova_utils.py:334 heat/engine/resources/server.py:630 #, python-format msgid "Instance (%(server)s) not found: %(ex)s" msgstr "" -#: heat/engine/resources/os_database.py:54 +#: heat/engine/resources/os_database.py:61 msgid "Name of the DB instance to create." msgstr "" -#: heat/engine/resources/os_database.py:62 +#: heat/engine/resources/os_database.py:69 msgid "Reference to a flavor for creating DB instance." msgstr "" -#: heat/engine/resources/os_database.py:67 +#: heat/engine/resources/os_database.py:74 msgid "Database volume size in GB." msgstr "" -#: heat/engine/resources/os_database.py:75 +#: heat/engine/resources/os_database.py:82 msgid "List of databases to be created on DB instance creation." msgstr "" -#: heat/engine/resources/os_database.py:82 +#: heat/engine/resources/os_database.py:89 msgid "Set of symbols and encodings." msgstr "" -#: heat/engine/resources/os_database.py:87 +#: heat/engine/resources/os_database.py:94 msgid "Set of rules for comparing characters in a character set." msgstr "" -#: heat/engine/resources/os_database.py:93 +#: heat/engine/resources/os_database.py:100 msgid "Specifies database names for creating databases on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:108 +#: heat/engine/resources/os_database.py:115 msgid "List of users to be created on DB instance creation." msgstr "" -#: heat/engine/resources/os_database.py:115 +#: heat/engine/resources/os_database.py:122 msgid "User name to create a user on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:127 +#: heat/engine/resources/os_database.py:134 msgid "Password for those users on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:138 +#: heat/engine/resources/os_database.py:145 msgid "The host from which a user is allowed to connect to the database." msgstr "" -#: heat/engine/resources/os_database.py:144 +#: heat/engine/resources/os_database.py:151 msgid "Names of databases that those users can access on instance creation." msgstr "" -#: heat/engine/resources/os_database.py:156 +#: heat/engine/resources/os_database.py:163 msgid "Name of the availability zone for DB instance." msgstr "" -#: heat/engine/resources/os_database.py:160 +#: heat/engine/resources/os_database.py:167 msgid "DB instance restore point." msgstr "" -#: heat/engine/resources/os_database.py:165 +#: heat/engine/resources/os_database.py:173 msgid "Hostname of the instance" msgstr "" -#: heat/engine/resources/os_database.py:166 +#: heat/engine/resources/os_database.py:176 msgid "Api endpoint reference of the instance" msgstr "" -#: heat/engine/resources/os_database.py:225 +#: heat/engine/resources/os_database.py:236 #, python-format msgid "" "Stack %(name)s (%(id)s) received an OverLimit response during " "instance.get(): %(exception)s" msgstr "" -#: heat/engine/resources/os_database.py:238 +#: heat/engine/resources/os_database.py:249 msgid "Database instance creation failed." msgstr "" -#: heat/engine/resources/os_database.py:243 +#: heat/engine/resources/os_database.py:254 #, python-format msgid "" "Database instance %(database)s created (flavor:%(flavor)s, " "volume:%(volume)s)" msgstr "" -#: heat/engine/resources/os_database.py:261 -#, python-format -msgid "Database instance %s not found." -msgstr "" - -#: heat/engine/resources/os_database.py:298 +#: heat/engine/resources/os_database.py:308 msgid "Databases property is required if users property is provided" msgstr "" -#: heat/engine/resources/os_database.py:305 +#: heat/engine/resources/os_database.py:315 #, python-format msgid "Must provide access to at least one database for user %s" msgstr "" -#: heat/engine/resources/os_database.py:313 +#: heat/engine/resources/os_database.py:323 #, python-format msgid "Database %s specified for user does not exist in databases." msgstr "" -#: heat/engine/resources/random_string.py:40 +#: heat/engine/resources/random_string.py:63 msgid "Length of the string to generate." msgstr "" -#: heat/engine/resources/random_string.py:48 +#: heat/engine/resources/random_string.py:71 msgid "Sequence of characters to build the random string from." msgstr "" -#: heat/engine/resources/random_string.py:59 +#: heat/engine/resources/random_string.py:80 +#: heat/engine/resources/server.py:215 heat/engine/resources/volume.py:579 +#: heat/engine/resources/neutron/floatingip.py:48 +#: heat/engine/resources/neutron/loadbalancer.py:223 +#: heat/engine/resources/neutron/network_gateway.py:101 +#: heat/engine/resources/neutron/port.py:70 +#: heat/engine/resources/neutron/port.py:106 +#: heat/engine/resources/neutron/router.py:214 +#: heat/engine/resources/neutron/router.py:309 +#: heat/engine/resources/neutron/subnet.py:65 +#: heat/engine/resources/neutron/vpnservice.py:68 +#, python-format +msgid "Use property %s." +msgstr "" + +#: heat/engine/resources/random_string.py:85 +msgid "" +"A list of character class and their constraints to generate the random " +"string from." +msgstr "" + +#: heat/engine/resources/random_string.py:92 +#, python-format +msgid "" +"A character class and its corresponding %(min)s constraint to generate " +"the random string from." +msgstr "" + +#: heat/engine/resources/random_string.py:104 +msgid "" +"The minimum number of characters from this character class that will be " +"in the generated string." +msgstr "" + +#: heat/engine/resources/random_string.py:117 +msgid "" +"A list of character sequences and their constraints to generate the " +"random string from." +msgstr "" + +#: heat/engine/resources/random_string.py:124 +#, python-format +msgid "" +"A character sequence and its corresponding %(min)s constraint to generate" +" the random string from." +msgstr "" + +#: heat/engine/resources/random_string.py:130 +msgid "" +"The minimum number of characters from this sequence that will be in the " +"generated string." +msgstr "" + +#: heat/engine/resources/random_string.py:143 msgid "" "Value which can be set or changed on stack update to trigger the resource" " for replacement with a new random string . The salt value itself is " "ignored by the random generator." msgstr "" -#: heat/engine/resources/random_string.py:66 +#: heat/engine/resources/random_string.py:151 msgid "" "The random string generated by this resource. This value is also " "available by referencing the resource." msgstr "" -#: heat/engine/resources/resource_group.py:60 +#: heat/engine/resources/random_string.py:231 +#, python-format +msgid "" +"Cannot use deprecated '%(seq)s' property along with '%(char_seqs)s' or " +"'%(char_classes)s' properties" +msgstr "" + +#: heat/engine/resources/random_string.py:247 +msgid "" +"Length property cannot be smaller than combined character class and " +"character sequence minimums" +msgstr "" + +#: heat/engine/resources/resource_group.py:67 msgid "The number of instances to create." msgstr "" -#: heat/engine/resources/resource_group.py:69 +#: heat/engine/resources/resource_group.py:76 msgid "" "Resource definition for the resources in the group. The value of this " "property is the definition of a resource just as if it had been declared " "in the template itself." msgstr "" -#: heat/engine/resources/resource_group.py:75 +#: heat/engine/resources/resource_group.py:82 msgid "The type of the resources in the group" msgstr "" -#: heat/engine/resources/resource_group.py:80 +#: heat/engine/resources/resource_group.py:87 msgid "Property values for the resources in the group" msgstr "" -#: heat/engine/resources/resource_group.py:88 +#: heat/engine/resources/resource_group.py:96 msgid "A list of resource IDs for the resources in the group" msgstr "" -#: heat/engine/resources/route_table.py:44 +#: heat/engine/resources/route_table.py:41 msgid "VPC ID for where the route table is created." msgstr "" -#: heat/engine/resources/route_table.py:51 +#: heat/engine/resources/route_table.py:48 msgid "List of tags to be attached to this resource." msgstr "" -#: heat/engine/resources/route_table.py:120 +#: heat/engine/resources/route_table.py:117 msgid "Route table ID." msgstr "" -#: heat/engine/resources/route_table.py:125 +#: heat/engine/resources/route_table.py:122 msgid "Subnet ID." msgstr "" -#: heat/engine/resources/s3.py:50 +#: heat/engine/resources/s3.py:57 msgid "" "A predefined access control list (ACL) that grants permissions on the " "bucket." msgstr "" -#: heat/engine/resources/s3.py:62 +#: heat/engine/resources/s3.py:69 msgid "Information used to configure the bucket as a static website." msgstr "" -#: heat/engine/resources/s3.py:66 +#: heat/engine/resources/s3.py:73 msgid "The name of the index document." msgstr "" -#: heat/engine/resources/s3.py:70 +#: heat/engine/resources/s3.py:77 msgid "The name of the error document." msgstr "" -#: heat/engine/resources/s3.py:76 +#: heat/engine/resources/s3.py:83 msgid "Tags to attach to the bucket." msgstr "" -#: heat/engine/resources/s3.py:82 +#: heat/engine/resources/s3.py:89 msgid "The tag key name." msgstr "" -#: heat/engine/resources/s3.py:87 +#: heat/engine/resources/s3.py:94 msgid "The tag value." msgstr "" -#: heat/engine/resources/s3.py:96 +#: heat/engine/resources/s3.py:104 msgid "The DNS name of the specified bucket." msgstr "" -#: heat/engine/resources/s3.py:97 +#: heat/engine/resources/s3.py:107 msgid "The website endpoint for the specified bucket." msgstr "" -#: heat/engine/resources/s3.py:111 -#, python-format -msgid "S3Bucket create container %(container)s with headers %(headers)s" -msgstr "" - -#: heat/engine/resources/s3.py:143 -#, python-format -msgid "S3Bucket delete container %s" -msgstr "" - -#: heat/engine/resources/s3.py:148 heat/engine/resources/swift.py:130 +#: heat/engine/resources/s3.py:158 heat/engine/resources/swift.py:150 #, python-format msgid "Delete container failed: %s" msgstr "" -#: heat/engine/resources/security_group.py:70 -#: heat/engine/resources/neutron/security_group.py:117 +#: heat/engine/resources/security_group.py:67 +#: heat/engine/resources/neutron/security_group.py:114 msgid "Description of the security group." msgstr "" -#: heat/engine/resources/security_group.py:75 +#: heat/engine/resources/security_group.py:72 msgid "Physical ID of the VPC." msgstr "" -#: heat/engine/resources/security_group.py:81 +#: heat/engine/resources/security_group.py:78 msgid "List of security group ingress rules." msgstr "" -#: heat/engine/resources/security_group.py:89 +#: heat/engine/resources/security_group.py:86 msgid "List of security group egress rules." msgstr "" -#: heat/engine/resources/security_group.py:284 +#: heat/engine/resources/security_group.py:281 #, python-format msgid "Security Group \"%(group_name)s\" not found" msgstr "" -#: heat/engine/resources/server.py:91 +#: heat/engine/resources/server.py:100 msgid "Server name." msgstr "" -#: heat/engine/resources/server.py:96 +#: heat/engine/resources/server.py:105 msgid "The ID or name of the image to boot with." msgstr "" -#: heat/engine/resources/server.py:104 +#: heat/engine/resources/server.py:113 msgid "Block device mappings for this server." msgstr "" -#: heat/engine/resources/server.py:110 +#: heat/engine/resources/server.py:119 msgid "" "A device name where the volume will be attached in the system at " "/dev/device_name. This value is typically vda." msgstr "" -#: heat/engine/resources/server.py:117 +#: heat/engine/resources/server.py:126 msgid "" "The ID of the volume to boot from. Only one of volume_id or snapshot_id " "should be provided." msgstr "" -#: heat/engine/resources/server.py:123 +#: heat/engine/resources/server.py:132 msgid "The ID of the snapshot to create a volume from." msgstr "" -#: heat/engine/resources/server.py:128 +#: heat/engine/resources/server.py:137 msgid "" "The size of the volume, in GB. It is safe to leave this blank and have " "the Compute service infer the size." msgstr "" -#: heat/engine/resources/server.py:134 +#: heat/engine/resources/server.py:143 msgid "" "Indicate whether the volume should be deleted when the server is " "terminated." msgstr "" -#: heat/engine/resources/server.py:142 +#: heat/engine/resources/server.py:151 msgid "The ID or name of the flavor to boot onto." msgstr "" -#: heat/engine/resources/server.py:148 +#: heat/engine/resources/server.py:157 msgid "" "Policy on how to apply a flavor update; either by requesting a server " "resize or by replacing the entire server." msgstr "" -#: heat/engine/resources/server.py:158 +#: heat/engine/resources/server.py:167 msgid "" "Policy on how to apply an image-id update; either by requesting a server " "rebuild or by replacing the entire server" msgstr "" -#: heat/engine/resources/server.py:169 +#: heat/engine/resources/server.py:178 msgid "Name of keypair to inject into the server." msgstr "" -#: heat/engine/resources/server.py:176 +#: heat/engine/resources/server.py:185 msgid "" "Name of the administrative user to use on the server. This property will " "be removed from Juno in favor of the default cloud-init user set up for " @@ -3213,48 +3176,43 @@ msgid "" "and \"cloud-user\" for CentOS/RHEL 6.5)." msgstr "" -#: heat/engine/resources/server.py:185 +#: heat/engine/resources/server.py:194 msgid "Name of the availability zone for server placement." msgstr "" -#: heat/engine/resources/server.py:189 +#: heat/engine/resources/server.py:198 msgid "" "List of security group names or IDs. Cannot be used if neutron ports are " "associated with this server; assign security groups to the ports instead." msgstr "" -#: heat/engine/resources/server.py:196 +#: heat/engine/resources/server.py:205 msgid "" "An ordered list of nics to be added to this server, with information " "about connected networks, fixed ips, port etc." msgstr "" -#: heat/engine/resources/server.py:203 +#: heat/engine/resources/server.py:212 msgid "ID of network to create a port on." msgstr "" -#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462 -#, python-format -msgid "Use property %s." -msgstr "" - -#: heat/engine/resources/server.py:210 +#: heat/engine/resources/server.py:219 msgid "Name or ID of network to create a port on." msgstr "" -#: heat/engine/resources/server.py:214 +#: heat/engine/resources/server.py:223 msgid "Fixed IP address to specify for the port created on the requested network." msgstr "" -#: heat/engine/resources/server.py:219 +#: heat/engine/resources/server.py:228 msgid "ID of an existing port to associate with this server." msgstr "" -#: heat/engine/resources/server.py:228 +#: heat/engine/resources/server.py:237 msgid "Arbitrary key-value pairs specified by the client to help boot a server." msgstr "" -#: heat/engine/resources/server.py:233 +#: heat/engine/resources/server.py:242 msgid "" "Arbitrary key/value metadata to store for this server. Both keys and " "values must be 255 characters or less. Non-string values will be " @@ -3262,7 +3220,7 @@ msgid "" "less)." msgstr "" -#: heat/engine/resources/server.py:241 +#: heat/engine/resources/server.py:250 msgid "" "How the user_data should be formatted for the server. For HEAT_CFNTOOLS, " "the user_data is bundled as part of the heat-cfntools cloud-init boot " @@ -3272,7 +3230,7 @@ msgid "" "resources." msgstr "" -#: heat/engine/resources/server.py:255 +#: heat/engine/resources/server.py:264 msgid "" "How the server should receive the metadata required for software " "configuration. POLL_SERVER_CFN will allow calls to the cfn API action " @@ -3281,81 +3239,91 @@ msgid "" " provided keystone credentials." msgstr "" -#: heat/engine/resources/server.py:268 +#: heat/engine/resources/server.py:277 msgid "User data script to be executed by cloud-init." msgstr "" -#: heat/engine/resources/server.py:273 +#: heat/engine/resources/server.py:282 msgid "A UUID for the set of servers being requested." msgstr "" -#: heat/engine/resources/server.py:277 -msgid "value for config drive either boolean, or volume-id." +#: heat/engine/resources/server.py:286 +msgid "If True, enable config drive on the server." msgstr "" -#: heat/engine/resources/server.py:281 +#: heat/engine/resources/server.py:290 msgid "Control how the disk is partitioned when the server is created." msgstr "" -#: heat/engine/resources/server.py:289 +#: heat/engine/resources/server.py:298 msgid "" "A map of files to create/overwrite on the server upon boot. Keys are file" " names and values are the file contents." msgstr "" -#: heat/engine/resources/server.py:295 +#: heat/engine/resources/server.py:304 msgid "The administrator password for the server." msgstr "" -#: heat/engine/resources/server.py:302 +#: heat/engine/resources/server.py:312 +msgid "Name of the server." +msgstr "" + +#: heat/engine/resources/server.py:315 msgid "A dict of all server details as returned by the API." msgstr "" -#: heat/engine/resources/server.py:303 +#: heat/engine/resources/server.py:318 msgid "A dict of all network addresses with corresponding port_id." msgstr "" -#: heat/engine/resources/server.py:305 +#: heat/engine/resources/server.py:321 msgid "" "A dict of assigned network addresses of the form: {\"public\": [ip1, " "ip2...], \"private\": [ip3, ip4]}." msgstr "" -#: heat/engine/resources/server.py:307 +#: heat/engine/resources/server.py:325 msgid "" "Convenience attribute to fetch the first assigned network address, or an " "empty string if nothing has been assigned at this time. Result may not be" " predictable if the server has addresses from more than one network." msgstr "" -#: heat/engine/resources/server.py:313 +#: heat/engine/resources/server.py:331 +msgid "" +"Use the networks attribute instead of first_address. For example: " +"\"{get_attr: [, networks, , 0]}\"" +msgstr "" + +#: heat/engine/resources/server.py:337 msgid "AWS compatible instance name." msgstr "" -#: heat/engine/resources/server.py:314 +#: heat/engine/resources/server.py:340 msgid "The manually assigned alternative public IPv4 address of the server." msgstr "" -#: heat/engine/resources/server.py:316 +#: heat/engine/resources/server.py:344 msgid "The manually assigned alternative public IPv6 address of the server." msgstr "" -#: heat/engine/resources/server.py:558 +#: heat/engine/resources/server.py:547 #, python-format msgid "Creation of server %s failed." msgstr "" -#: heat/engine/resources/server.py:879 +#: heat/engine/resources/server.py:881 #, python-format msgid "Either volume_id or snapshot_id must be specified for device mapping %s" msgstr "" -#: heat/engine/resources/server.py:886 +#: heat/engine/resources/server.py:888 #, python-format msgid "Neither image nor bootable volume is specified for instance %s" msgstr "" -#: heat/engine/resources/server.py:899 +#: heat/engine/resources/server.py:901 #, python-format msgid "" "Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network " @@ -3363,7 +3331,7 @@ msgid "" "is deprecated. Use only \"%(id)s\" property." msgstr "" -#: heat/engine/resources/server.py:909 +#: heat/engine/resources/server.py:911 #, python-format msgid "" "For the server \"%(server)s\" the \"%(uuid)s\" property is set to network" @@ -3371,186 +3339,164 @@ msgid "" "property instead." msgstr "" -#: heat/engine/resources/server.py:936 +#: heat/engine/resources/server.py:937 #, python-format msgid "" "Instance metadata must not contain greater than %s entries. This is the " "maximum number allowed by your service provider" msgstr "" -#: heat/engine/resources/server.py:945 +#: heat/engine/resources/server.py:946 #, python-format msgid "The personality property may not contain greater than %s entries." msgstr "" -#: heat/engine/resources/server.py:951 +#: heat/engine/resources/server.py:952 #, python-format msgid "" "The contents of personality file \"%(path)s\" is larger than the maximum " "allowed personality file size (%(max_size)s bytes)." msgstr "" -#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037 +#: heat/engine/resources/server.py:993 heat/engine/resources/server.py:1038 #, python-format msgid "Failed to find server %s" msgstr "" -#: heat/engine/resources/server.py:994 -#, python-format -msgid "suspending server %s" -msgstr "" - -#: heat/engine/resources/server.py:1018 +#: heat/engine/resources/server.py:1019 #, python-format msgid "Suspend of server %(server)s failed with unknown status: %(status)s" msgstr "" -#: heat/engine/resources/server.py:1040 -#, python-format -msgid "resuming server %s" -msgstr "" - -#: heat/engine/resources/stack.py:41 +#: heat/engine/resources/stack.py:37 msgid "" "The URL of a template that specifies the stack to be created as a " "resource." msgstr "" -#: heat/engine/resources/stack.py:48 +#: heat/engine/resources/stack.py:44 msgid "The length of time, in minutes, to wait for the nested stack creation." msgstr "" -#: heat/engine/resources/stack.py:54 +#: heat/engine/resources/stack.py:50 msgid "The set of parameters passed to this nested stack." msgstr "" -#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111 +#: heat/engine/resources/stack.py:59 heat/engine/resources/stack.py:102 #, python-format msgid "Could not fetch remote template '%(url)s': %(exc)s" msgstr "" -#: heat/engine/resources/subnet.py:41 +#: heat/engine/resources/subnet.py:38 msgid "Availability zone in which you want the subnet." msgstr "" -#: heat/engine/resources/subnet.py:45 +#: heat/engine/resources/subnet.py:42 msgid "CIDR block to apply to subnet." msgstr "" -#: heat/engine/resources/subnet.py:50 +#: heat/engine/resources/subnet.py:47 msgid "" "Ref structure that contains the ID of the VPC on which you want to create" " the subnet." msgstr "" -#: heat/engine/resources/subnet.py:58 +#: heat/engine/resources/subnet.py:55 msgid "List of tags to attach to this resource." msgstr "" -#: heat/engine/resources/swift.py:37 +#: heat/engine/resources/swift.py:46 msgid "Name for the container. If not specified, a unique name will be generated." msgstr "" -#: heat/engine/resources/swift.py:42 +#: heat/engine/resources/swift.py:51 msgid "Specify the ACL permissions on who can read objects in the container." msgstr "" -#: heat/engine/resources/swift.py:47 +#: heat/engine/resources/swift.py:56 msgid "Specify the ACL permissions on who can write objects to the container." msgstr "" -#: heat/engine/resources/swift.py:52 +#: heat/engine/resources/swift.py:61 msgid "" "A map of user-defined meta data to associate with the container. Each key" " in the map will set the header X-Container-Meta-{key} with the " "corresponding value." msgstr "" -#: heat/engine/resources/swift.py:59 +#: heat/engine/resources/swift.py:68 msgid "" "A map of user-defined meta data to associate with the account. Each key " "in the map will set the header X-Account-Meta-{key} with the " "corresponding value." msgstr "" -#: heat/engine/resources/swift.py:67 +#: heat/engine/resources/swift.py:77 msgid "The host from the container URL." msgstr "" -#: heat/engine/resources/swift.py:68 +#: heat/engine/resources/swift.py:80 msgid "The URL of the container." msgstr "" -#: heat/engine/resources/swift.py:69 +#: heat/engine/resources/swift.py:83 msgid "The parent URL of the container." msgstr "" -#: heat/engine/resources/swift.py:70 +#: heat/engine/resources/swift.py:86 msgid "The number of objects stored in the container." msgstr "" -#: heat/engine/resources/swift.py:71 +#: heat/engine/resources/swift.py:89 msgid "The number of bytes stored in the container." msgstr "" -#: heat/engine/resources/swift.py:72 +#: heat/engine/resources/swift.py:92 msgid "A map containing all headers for the container." msgstr "" -#: heat/engine/resources/swift.py:108 -#, python-format -msgid "" -"SwiftContainer create container %(container)s with container headers " -"%(container_headers)s and account headers %(account_headers)s" -msgstr "" - -#: heat/engine/resources/swift.py:124 -#, python-format -msgid "SwiftContainer delete container %s" -msgstr "" - -#: heat/engine/resources/swift.py:149 +#: heat/engine/resources/swift.py:169 #, python-format msgid "Head container failed: %s" msgstr "" -#: heat/engine/resources/template_resource.py:68 +#: heat/engine/resources/template_resource.py:64 msgid "Only Templates with an extension of .yaml or .template are supported" msgstr "" -#: heat/engine/resources/template_resource.py:165 +#: heat/engine/resources/template_resource.py:159 #, python-format msgid "Could not fetch remote template '%(name)s': %(exc)s" msgstr "" -#: heat/engine/resources/template_resource.py:178 +#: heat/engine/resources/template_resource.py:172 #, python-format msgid "Unknown error retrieving %s" msgstr "" -#: heat/engine/resources/template_resource.py:187 +#: heat/engine/resources/template_resource.py:181 #, python-format msgid "Required property %(n)s for facade %(type)s missing in provider" msgstr "" -#: heat/engine/resources/template_resource.py:195 +#: heat/engine/resources/template_resource.py:189 #, python-format msgid "" "Property %(n)s type mismatch between facade %(type)s (%(fs_type)s) and " "provider (%(ps_type)s)" msgstr "" -#: heat/engine/resources/template_resource.py:204 +#: heat/engine/resources/template_resource.py:198 #, python-format msgid "Provider requires property %(n)s unknown in facade %(type)s" msgstr "" -#: heat/engine/resources/template_resource.py:211 +#: heat/engine/resources/template_resource.py:205 #, python-format msgid "Attribute %(attr)s for facade %(type)s missing in provider" msgstr "" -#: heat/engine/resources/template_resource.py:224 +#: heat/engine/resources/template_resource.py:218 #, python-format msgid "Failed to retrieve template data: %s" msgstr "" @@ -3563,7 +3509,7 @@ msgstr "" msgid "Access policies to apply to the user." msgstr "" -#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119 +#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:118 #, python-format msgid "Ignoring policy %s, must be string resource name" msgstr "" @@ -3573,442 +3519,446 @@ msgstr "" msgid "Policy %(policy)s does not exist in stack %(stack)s" msgstr "" -#: heat/engine/resources/user.py:93 +#: heat/engine/resources/user.py:92 #, python-format msgid "Policy %s is not an AccessPolicy resource" msgstr "" -#: heat/engine/resources/user.py:143 +#: heat/engine/resources/user.py:148 msgid "The name of the user that the new key will belong to." msgstr "" -#: heat/engine/resources/user.py:157 +#: heat/engine/resources/user.py:163 msgid "Username associated with the AccessKey." msgstr "" -#: heat/engine/resources/user.py:158 +#: heat/engine/resources/user.py:167 msgid "Keypair secret key." msgstr "" -#: heat/engine/resources/user.py:184 +#: heat/engine/resources/user.py:195 #, python-format msgid "could not find user %s" msgstr "" -#: heat/engine/resources/user.py:204 +#: heat/engine/resources/user.py:215 #, python-format msgid "Error deleting %s - user not found" msgstr "" -#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238 +#: heat/engine/resources/user.py:225 heat/engine/resources/user.py:245 #, python-format msgid "could not get secret for %(username)s Error:%(msg)s" msgstr "" -#: heat/engine/resources/user.py:269 +#: heat/engine/resources/user.py:276 msgid "" "Resources that users are allowed to access by the DescribeStackResource " "API." msgstr "" -#: heat/engine/resources/user.py:286 +#: heat/engine/resources/user.py:293 #, python-format msgid "AccessPolicy resource %s not in stack" msgstr "" -#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423 +#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:535 msgid "The availability zone in which the volume will be created." msgstr "" -#: heat/engine/resources/volume.py:54 heat/engine/resources/volume.py:427 -#: heat/engine/resources/volume.py:481 -msgid "The size of the volume in GB." +#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:539 +msgid "" +"The size of the volume in GB. On update only increase in size is " +"supported." msgstr "" -#: heat/engine/resources/volume.py:58 +#: heat/engine/resources/volume.py:64 msgid "If specified, the backup used as the source to create the volume." msgstr "" -#: heat/engine/resources/volume.py:63 +#: heat/engine/resources/volume.py:69 msgid "The list of tags to associate with the volume." msgstr "" -#: heat/engine/resources/volume.py:107 +#: heat/engine/resources/volume.py:113 msgid "Backups not supported." msgstr "" -#: heat/engine/resources/volume.py:152 +#: heat/engine/resources/volume.py:158 msgid "can not delete volume when in-use" msgstr "" -#: heat/engine/resources/volume.py:153 +#: heat/engine/resources/volume.py:159 msgid "Volume in use" msgstr "" -#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288 -#, python-format -msgid "%s - volume not found" +#: heat/engine/resources/volume.py:192 +msgid "Shrinking volume" msgstr "" -#: heat/engine/resources/volume.py:217 +#: heat/engine/resources/volume.py:243 #, python-format -msgid "Failed to attach %(vol)s to server %(srv)s" +msgid "Resizing volume %(vol)s to size %(size)i" msgstr "" -#: heat/engine/resources/volume.py:229 +#: heat/engine/resources/volume.py:259 #, python-format -msgid "%(name)s - volume status: %(status)s" +msgid "Failed to extend volume %(vol)s - %(err)s" msgstr "" -#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313 +#: heat/engine/resources/volume.py:272 +#, python-format +msgid "Resize failed: Volume %(vol)s is in %(status)s state." +msgstr "" + +#: heat/engine/resources/volume.py:276 heat/engine/resources/volume.py:327 #, python-format msgid "%s - complete" msgstr "" -#: heat/engine/resources/volume.py:254 +#: heat/engine/resources/volume.py:344 #, python-format -msgid "Removing volume %(vol)s from Instance %(srv)s" +msgid "Removing attachment %(att)s from Instance %(srv)s" msgstr "" -#: heat/engine/resources/volume.py:271 +#: heat/engine/resources/volume.py:367 heat/engine/resources/volume.py:392 #, python-format -msgid "Volume %(vol)s is not attached to server %(srv)s" +msgid "%s - volume not found" msgstr "" -#: heat/engine/resources/volume.py:278 +#: heat/engine/resources/volume.py:375 #, python-format -msgid "%s - volume still in use" +msgid "%(res)s - %(err)s" msgstr "" -#: heat/engine/resources/volume.py:282 +#: heat/engine/resources/volume.py:386 #, python-format msgid "%(name)s - status: %(status)s" msgstr "" -#: heat/engine/resources/volume.py:291 +#: heat/engine/resources/volume.py:406 #, python-format -msgid "Failed to detach %(vol)s from server %(srv)s" +msgid "Server %(srv)s still has attachment %(att)s." msgstr "" -#: heat/engine/resources/volume.py:309 +#: heat/engine/resources/volume.py:410 #, python-format -msgid "Server %(srv)s still has %(vol)s attached." +msgid "Volume %(vol)s is detached from server %(srv)s" msgstr "" -#: heat/engine/resources/volume.py:326 +#: heat/engine/resources/volume.py:424 msgid "The ID of the instance to which the volume attaches." msgstr "" -#: heat/engine/resources/volume.py:434 +#: heat/engine/resources/volume.py:548 msgid "If specified, the snapshot to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:438 +#: heat/engine/resources/volume.py:552 msgid "If specified, the backup to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:442 +#: heat/engine/resources/volume.py:556 msgid "A name used to distinguish the volume." msgstr "" -#: heat/engine/resources/volume.py:446 +#: heat/engine/resources/volume.py:561 msgid "A description of the volume." msgstr "" -#: heat/engine/resources/volume.py:450 +#: heat/engine/resources/volume.py:566 msgid "If specified, the type of volume to use, mapping to a specific backend." msgstr "" -#: heat/engine/resources/volume.py:455 +#: heat/engine/resources/volume.py:571 msgid "Key/value pairs to associate with the volume." msgstr "" -#: heat/engine/resources/volume.py:459 +#: heat/engine/resources/volume.py:576 msgid "The ID of the image to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:466 +#: heat/engine/resources/volume.py:583 msgid "If specified, the name or ID of the image to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:474 +#: heat/engine/resources/volume.py:591 msgid "If specified, the volume to use as source." msgstr "" -#: heat/engine/resources/volume.py:479 -msgid "The availability zone in which the volume is located." +#: heat/engine/resources/volume.py:597 +msgid "The availability zone in which the volume is located." msgstr "" -#: heat/engine/resources/volume.py:482 +#: heat/engine/resources/volume.py:600 +msgid "The size of the volume in GB." +msgstr "" + +#: heat/engine/resources/volume.py:603 msgid "The snapshot the volume was created from, if any." msgstr "" -#: heat/engine/resources/volume.py:483 +#: heat/engine/resources/volume.py:606 msgid "Name of the volume." msgstr "" -#: heat/engine/resources/volume.py:484 +#: heat/engine/resources/volume.py:609 msgid "Description of the volume." msgstr "" -#: heat/engine/resources/volume.py:485 +#: heat/engine/resources/volume.py:612 msgid "The type of the volume mapping to a backend, if any." msgstr "" -#: heat/engine/resources/volume.py:487 +#: heat/engine/resources/volume.py:615 msgid "Key/value pairs associated with the volume." msgstr "" -#: heat/engine/resources/volume.py:488 +#: heat/engine/resources/volume.py:618 msgid "The volume used as source, if any." msgstr "" -#: heat/engine/resources/volume.py:489 +#: heat/engine/resources/volume.py:621 msgid "The current status of the volume." msgstr "" -#: heat/engine/resources/volume.py:490 +#: heat/engine/resources/volume.py:624 msgid "The timestamp indicating volume creation." msgstr "" -#: heat/engine/resources/volume.py:491 +#: heat/engine/resources/volume.py:627 msgid "Boolean indicating if the volume can be booted or not." msgstr "" -#: heat/engine/resources/volume.py:541 +#: heat/engine/resources/volume.py:701 msgid "The ID of the server to which the volume attaches." msgstr "" -#: heat/engine/resources/volume.py:553 +#: heat/engine/resources/volume.py:713 msgid "" "The location where the volume is exposed on the instance. This assignment" " may not be honored and it is advised that the path /dev/disk/by-" "id/virtio- be used instead." msgstr "" -#: heat/engine/resources/vpc.py:42 +#: heat/engine/resources/vpc.py:39 msgid "CIDR block to apply to the VPC." msgstr "" -#: heat/engine/resources/vpc.py:46 +#: heat/engine/resources/vpc.py:43 msgid "" "Allowed tenancy of instances launched in the VPC. default - any tenancy; " "dedicated - instance will be dedicated, regardless of the tenancy option " "specified at instance launch." msgstr "" -#: heat/engine/resources/vpc.py:60 +#: heat/engine/resources/vpc.py:57 msgid "List of tags to attach to the instance." msgstr "" -#: heat/engine/resources/vpc.py:103 +#: heat/engine/resources/vpc.py:100 #, python-format msgid "Multiple routers found with name %s" msgstr "" -#: heat/engine/resources/wait_condition.py:77 +#: heat/engine/resources/wait_condition.py:86 #, python-format msgid "Overwriting Metadata item for UniqueId %s!" msgstr "" -#: heat/engine/resources/wait_condition.py:87 +#: heat/engine/resources/wait_condition.py:94 #, python-format msgid "Metadata failed validation for %s" msgstr "" -#: heat/engine/resources/wait_condition.py:88 +#: heat/engine/resources/wait_condition.py:95 msgid "Metadata format invalid" msgstr "" -#: heat/engine/resources/wait_condition.py:140 +#: heat/engine/resources/wait_condition.py:147 #, python-format msgid "%(len)d of %(count)d received - %(reasons)s" msgstr "" -#: heat/engine/resources/wait_condition.py:142 +#: heat/engine/resources/wait_condition.py:149 #, python-format msgid "%(len)d of %(count)d received" msgstr "" -#: heat/engine/resources/wait_condition.py:156 +#: heat/engine/resources/wait_condition.py:169 msgid "" "A reference to the wait condition handle used to signal this wait " "condition." msgstr "" -#: heat/engine/resources/wait_condition.py:162 +#: heat/engine/resources/wait_condition.py:175 msgid "The number of seconds to wait for the correct number of signals to arrive." msgstr "" -#: heat/engine/resources/wait_condition.py:171 +#: heat/engine/resources/wait_condition.py:184 msgid "" "The number of success signals that must be received before the stack " "creation process continues." msgstr "" -#: heat/engine/resources/wait_condition.py:182 +#: heat/engine/resources/wait_condition.py:196 msgid "" "JSON serialized dict containing data associated with wait condition " "signals sent to the handle." msgstr "" -#: heat/engine/resources/wait_condition.py:195 +#: heat/engine/resources/wait_condition.py:209 #, python-format msgid "WaitCondition invalid Handle tenant %s" msgstr "" -#: heat/engine/resources/wait_condition.py:198 -#: heat/engine/resources/wait_condition.py:201 +#: heat/engine/resources/wait_condition.py:212 +#: heat/engine/resources/wait_condition.py:215 #, python-format msgid "WaitCondition invalid Handle stack %s" msgstr "" -#: heat/engine/resources/wait_condition.py:204 -#: heat/engine/resources/wait_condition.py:208 +#: heat/engine/resources/wait_condition.py:218 +#: heat/engine/resources/wait_condition.py:222 #, python-format msgid "WaitCondition invalid Handle %s" msgstr "" -#: heat/engine/resources/wait_condition.py:222 +#: heat/engine/resources/wait_condition.py:236 #, python-format msgid "%(name)s Timed out (%(timeout)s)" msgstr "" -#: heat/engine/resources/wait_condition.py:230 +#: heat/engine/resources/wait_condition.py:244 #, python-format msgid "%(name)s Failed (%(failure)s)" msgstr "" -#: heat/engine/resources/wait_condition.py:235 +#: heat/engine/resources/wait_condition.py:249 #, python-format msgid "%s Succeeded" msgstr "" -#: heat/engine/resources/wait_condition.py:282 -#, python-format -msgid "%(name)s.GetAtt(%(key)s) == %(res)s" -msgstr "" - -#: heat/engine/resources/ceilometer/alarm.py:38 +#: heat/engine/resources/ceilometer/alarm.py:40 msgid "True if alarm evaluation/actioning is enabled." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:44 +#: heat/engine/resources/ceilometer/alarm.py:46 msgid "A list of URLs (webhooks) to invoke when state transitions to alarm." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:50 +#: heat/engine/resources/ceilometer/alarm.py:52 msgid "A list of URLs (webhooks) to invoke when state transitions to ok." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:56 +#: heat/engine/resources/ceilometer/alarm.py:58 msgid "" "A list of URLs (webhooks) to invoke when state transitions to " "insufficient-data." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:62 +#: heat/engine/resources/ceilometer/alarm.py:64 msgid "" "False to trigger actions when the threshold is reached AND the alarm's " "state has changed. By default, actions are called each time the threshold" " is reached." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:106 +#: heat/engine/resources/ceilometer/alarm.py:108 msgid "Operator used to compare specified statistic with threshold." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:120 +#: heat/engine/resources/ceilometer/alarm.py:122 msgid "Meter name watched by the alarm." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:130 +#: heat/engine/resources/ceilometer/alarm.py:132 msgid "Meter statistic to evaluate." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:145 +#: heat/engine/resources/ceilometer/alarm.py:147 msgid "" "Meter should match this resource metadata (key=value) additionally to the" " meter_name." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:211 +#: heat/engine/resources/ceilometer/alarm.py:214 msgid "List of alarm identifiers to combine." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:217 +#: heat/engine/resources/ceilometer/alarm.py:220 msgid "Operator used to combine the alarms." msgstr "" -#: heat/engine/resources/neutron/firewall.py:40 -#: heat/engine/resources/neutron/firewall.py:66 +#: heat/engine/resources/neutron/firewall.py:46 +#: heat/engine/resources/neutron/firewall.py:73 msgid "Name for the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:45 +#: heat/engine/resources/neutron/firewall.py:51 msgid "Description for the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:50 +#: heat/engine/resources/neutron/firewall.py:56 msgid "" "Administrative state of the firewall. If false (down), firewall does not " "forward packets and will drop all traffic to/from VMs behind the " "firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:58 +#: heat/engine/resources/neutron/firewall.py:64 msgid "The ID of the firewall policy that this firewall is associated with." msgstr "" -#: heat/engine/resources/neutron/firewall.py:67 +#: heat/engine/resources/neutron/firewall.py:76 msgid "Description of the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:68 +#: heat/engine/resources/neutron/firewall.py:79 msgid "The administrative state of the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:69 +#: heat/engine/resources/neutron/firewall.py:82 msgid "Unique identifier of the firewall policy used to create the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:71 +#: heat/engine/resources/neutron/firewall.py:86 msgid "The status of the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:72 -#: heat/engine/resources/neutron/firewall.py:292 +#: heat/engine/resources/neutron/firewall.py:89 +#: heat/engine/resources/neutron/firewall.py:364 msgid "Id of the tenant owning the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:73 -#: heat/engine/resources/neutron/floatingip.py:67 -#: heat/engine/resources/neutron/loadbalancer.py:117 -#: heat/engine/resources/neutron/loadbalancer.py:495 -#: heat/engine/resources/neutron/net.py:86 -#: heat/engine/resources/neutron/network_gateway.py:122 -#: heat/engine/resources/neutron/port.py:149 -#: heat/engine/resources/neutron/provider_net.py:68 -#: heat/engine/resources/neutron/router.py:98 -#: heat/engine/resources/neutron/subnet.py:149 -#: heat/engine/resources/neutron/vpnservice.py:79 +#: heat/engine/resources/neutron/firewall.py:92 +#: heat/engine/resources/neutron/floatingip.py:95 +#: heat/engine/resources/neutron/loadbalancer.py:143 +#: heat/engine/resources/neutron/loadbalancer.py:572 +#: heat/engine/resources/neutron/net.py:102 +#: heat/engine/resources/neutron/network_gateway.py:138 +#: heat/engine/resources/neutron/port.py:200 +#: heat/engine/resources/neutron/provider_net.py:79 +#: heat/engine/resources/neutron/router.py:115 +#: heat/engine/resources/neutron/subnet.py:186 +#: heat/engine/resources/neutron/vpnservice.py:109 msgid "All attributes." msgstr "" -#: heat/engine/resources/neutron/firewall.py:118 -#: heat/engine/resources/neutron/firewall.py:151 +#: heat/engine/resources/neutron/firewall.py:144 +#: heat/engine/resources/neutron/firewall.py:178 msgid "Name for the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:123 +#: heat/engine/resources/neutron/firewall.py:149 msgid "Description for the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:128 +#: heat/engine/resources/neutron/firewall.py:154 msgid "Whether this policy should be shared across all tenants." msgstr "" -#: heat/engine/resources/neutron/firewall.py:134 +#: heat/engine/resources/neutron/firewall.py:160 msgid "" "Whether this policy should be audited. When set to True, each time the " "firewall policy or the associated firewall rules are changed, this " @@ -4016,760 +3966,754 @@ msgid "" " through an update operation." msgstr "" -#: heat/engine/resources/neutron/firewall.py:144 +#: heat/engine/resources/neutron/firewall.py:170 msgid "An ordered list of firewall rules to apply to the firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:152 +#: heat/engine/resources/neutron/firewall.py:181 msgid "Description of the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:153 +#: heat/engine/resources/neutron/firewall.py:184 msgid "List of firewall rules in this firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:154 +#: heat/engine/resources/neutron/firewall.py:187 msgid "Shared status of this firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:155 +#: heat/engine/resources/neutron/firewall.py:190 msgid "Audit status of this firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:156 +#: heat/engine/resources/neutron/firewall.py:193 msgid "Id of the tenant owning the firewall policy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:206 -#: heat/engine/resources/neutron/firewall.py:275 +#: heat/engine/resources/neutron/firewall.py:254 +#: heat/engine/resources/neutron/firewall.py:324 msgid "Name for the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:211 +#: heat/engine/resources/neutron/firewall.py:259 msgid "Description for the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:216 +#: heat/engine/resources/neutron/firewall.py:264 msgid "Whether this rule should be shared across all tenants." msgstr "" -#: heat/engine/resources/neutron/firewall.py:222 +#: heat/engine/resources/neutron/firewall.py:270 msgid "Protocol for the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:230 +#: heat/engine/resources/neutron/firewall.py:278 msgid "Internet protocol version." msgstr "" -#: heat/engine/resources/neutron/firewall.py:239 +#: heat/engine/resources/neutron/firewall.py:287 msgid "Source IP address or CIDR." msgstr "" -#: heat/engine/resources/neutron/firewall.py:244 +#: heat/engine/resources/neutron/firewall.py:292 msgid "Destination IP address or CIDR." msgstr "" -#: heat/engine/resources/neutron/firewall.py:249 +#: heat/engine/resources/neutron/firewall.py:297 msgid "Source port number or a range." msgstr "" -#: heat/engine/resources/neutron/firewall.py:254 +#: heat/engine/resources/neutron/firewall.py:302 msgid "Destination port number or a range." msgstr "" -#: heat/engine/resources/neutron/firewall.py:259 +#: heat/engine/resources/neutron/firewall.py:307 msgid "Action to be performed on the traffic matching the rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:268 +#: heat/engine/resources/neutron/firewall.py:316 msgid "Whether this rule should be enabled." msgstr "" -#: heat/engine/resources/neutron/firewall.py:276 +#: heat/engine/resources/neutron/firewall.py:327 msgid "Description of the firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:277 +#: heat/engine/resources/neutron/firewall.py:330 msgid "" "Unique identifier of the firewall policy to which this firewall rule " "belongs." msgstr "" -#: heat/engine/resources/neutron/firewall.py:279 +#: heat/engine/resources/neutron/firewall.py:334 msgid "Shared status of this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:280 +#: heat/engine/resources/neutron/firewall.py:337 msgid "Protocol value for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:281 +#: heat/engine/resources/neutron/firewall.py:340 msgid "Ip_version for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:282 +#: heat/engine/resources/neutron/firewall.py:343 msgid "Source ip_address for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:283 +#: heat/engine/resources/neutron/firewall.py:346 msgid "Destination ip_address for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:285 +#: heat/engine/resources/neutron/firewall.py:349 msgid "Source port range for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:286 +#: heat/engine/resources/neutron/firewall.py:352 msgid "Destination port range for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:288 +#: heat/engine/resources/neutron/firewall.py:355 msgid "Allow or deny action for this firewall rule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:289 +#: heat/engine/resources/neutron/firewall.py:358 msgid "Indicates whether this firewall rule is enabled or not." msgstr "" -#: heat/engine/resources/neutron/firewall.py:291 +#: heat/engine/resources/neutron/firewall.py:361 msgid "Position of the rule within the firewall policy." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:36 -msgid "ID of network to allocate floating IP from." +#: heat/engine/resources/neutron/floatingip.py:53 +msgid "Network to allocate floating IP from." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:41 +#: heat/engine/resources/neutron/floatingip.py:58 msgid "" "Extra parameters to include in the \"floatingip\" object in the creation " "request. Parameters are often specific to installed hardware or " "extensions." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:48 -#: heat/engine/resources/neutron/floatingip.py:114 +#: heat/engine/resources/neutron/floatingip.py:65 +#: heat/engine/resources/neutron/floatingip.py:157 msgid "" "ID of an existing port with at least one IP address to associate with " "this floating IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:53 -#: heat/engine/resources/neutron/floatingip.py:119 +#: heat/engine/resources/neutron/floatingip.py:70 +#: heat/engine/resources/neutron/floatingip.py:164 msgid "IP address to use if the port has multiple addresses." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:58 +#: heat/engine/resources/neutron/floatingip.py:76 msgid "ID of the router used as gateway, set when associated with a port." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:60 +#: heat/engine/resources/neutron/floatingip.py:80 msgid "The tenant owning this floating IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:61 +#: heat/engine/resources/neutron/floatingip.py:83 msgid "ID of the network in which this IP is allocated." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:63 +#: heat/engine/resources/neutron/floatingip.py:86 msgid "IP address of the associated port, if specified." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:65 +#: heat/engine/resources/neutron/floatingip.py:89 msgid "The allocated address of this IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:66 +#: heat/engine/resources/neutron/floatingip.py:92 msgid "ID of the port associated with this IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:109 +#: heat/engine/resources/neutron/floatingip.py:151 msgid "ID of the floating IP to associate." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:45 -#: heat/engine/resources/neutron/loadbalancer.py:103 +#: heat/engine/resources/neutron/loadbalancer.py:56 +#: heat/engine/resources/neutron/loadbalancer.py:114 msgid "The minimum time in seconds between regular connections of the member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:52 -#: heat/engine/resources/neutron/loadbalancer.py:113 +#: heat/engine/resources/neutron/loadbalancer.py:63 +#: heat/engine/resources/neutron/loadbalancer.py:133 msgid "One of predefined health monitor types." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:60 -#: heat/engine/resources/neutron/loadbalancer.py:109 +#: heat/engine/resources/neutron/loadbalancer.py:71 +#: heat/engine/resources/neutron/loadbalancer.py:125 msgid "" "Number of permissible connection failures before changing the member " "status to INACTIVE." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:67 -#: heat/engine/resources/neutron/loadbalancer.py:111 +#: heat/engine/resources/neutron/loadbalancer.py:78 +#: heat/engine/resources/neutron/loadbalancer.py:129 msgid "" "Maximum number of seconds for a monitor to wait for a connection to be " "established before it times out." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:74 +#: heat/engine/resources/neutron/loadbalancer.py:85 msgid "The administrative state of the health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:80 -#: heat/engine/resources/neutron/loadbalancer.py:107 +#: heat/engine/resources/neutron/loadbalancer.py:91 +#: heat/engine/resources/neutron/loadbalancer.py:122 msgid "The HTTP method used for requests by the monitor of type HTTP." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:86 -#: heat/engine/resources/neutron/loadbalancer.py:105 +#: heat/engine/resources/neutron/loadbalancer.py:97 +#: heat/engine/resources/neutron/loadbalancer.py:118 msgid "" "The list of HTTP status codes expected in response from the member to " "declare it healthy." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:92 -#: heat/engine/resources/neutron/loadbalancer.py:114 +#: heat/engine/resources/neutron/loadbalancer.py:103 +#: heat/engine/resources/neutron/loadbalancer.py:136 msgid "" "The HTTP path used in the HTTP request used by the monitor to test a " "member health." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:101 +#: heat/engine/resources/neutron/loadbalancer.py:111 msgid "The administrative state of this health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:116 +#: heat/engine/resources/neutron/loadbalancer.py:140 msgid "Tenant owning the health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:178 +#: heat/engine/resources/neutron/loadbalancer.py:213 msgid "Protocol for balancing." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:186 -#: heat/engine/resources/neutron/loadbalancer.py:289 +#: heat/engine/resources/neutron/loadbalancer.py:228 +#: heat/engine/resources/neutron/loadbalancer.py:336 msgid "" "The subnet for the port on which the members of the pool will be " "connected." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:192 -#: heat/engine/resources/neutron/loadbalancer.py:291 +#: heat/engine/resources/neutron/loadbalancer.py:234 +#: heat/engine/resources/neutron/loadbalancer.py:340 msgid "The algorithm used to distribute load between the members of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:203 -#: heat/engine/resources/neutron/loadbalancer.py:287 +#: heat/engine/resources/neutron/loadbalancer.py:245 +#: heat/engine/resources/neutron/loadbalancer.py:330 msgid "Name of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:207 -#: heat/engine/resources/neutron/loadbalancer.py:293 +#: heat/engine/resources/neutron/loadbalancer.py:249 +#: heat/engine/resources/neutron/loadbalancer.py:344 msgid "Description of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:212 -#: heat/engine/resources/neutron/loadbalancer.py:286 +#: heat/engine/resources/neutron/loadbalancer.py:254 +#: heat/engine/resources/neutron/loadbalancer.py:327 msgid "The administrative state of this pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:218 +#: heat/engine/resources/neutron/loadbalancer.py:260 msgid "IP address and port of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:222 +#: heat/engine/resources/neutron/loadbalancer.py:264 msgid "Name of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:226 +#: heat/engine/resources/neutron/loadbalancer.py:268 msgid "Description of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:230 +#: heat/engine/resources/neutron/loadbalancer.py:272 msgid "Subnet of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:234 +#: heat/engine/resources/neutron/loadbalancer.py:276 msgid "IP address of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:238 +#: heat/engine/resources/neutron/loadbalancer.py:280 msgid "The maximum number of connections per second allowed for the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:243 +#: heat/engine/resources/neutron/loadbalancer.py:285 msgid "" "TCP port on which to listen for client traffic that is associated with " "the vip address." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:249 +#: heat/engine/resources/neutron/loadbalancer.py:291 msgid "Configuration of session persistence." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:253 +#: heat/engine/resources/neutron/loadbalancer.py:295 msgid "Method of implementation of session persistence feature." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:262 +#: heat/engine/resources/neutron/loadbalancer.py:304 msgid "Name of the cookie, required if type is APP_COOKIE." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:269 +#: heat/engine/resources/neutron/loadbalancer.py:311 msgid "The administrative state of this vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:277 +#: heat/engine/resources/neutron/loadbalancer.py:319 msgid "List of health monitors associated with the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:288 +#: heat/engine/resources/neutron/loadbalancer.py:333 msgid "Protocol to balance." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:294 +#: heat/engine/resources/neutron/loadbalancer.py:347 msgid "Tenant owning the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:295 +#: heat/engine/resources/neutron/loadbalancer.py:350 msgid "Vip associated with the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:313 -#: heat/tests/test_neutron_loadbalancer.py:562 +#: heat/engine/resources/neutron/loadbalancer.py:370 +#: heat/tests/test_neutron_loadbalancer.py:621 msgid "" "Property cookie_name is required, when session_persistence type is set to" " APP_COOKIE." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:371 +#: heat/engine/resources/neutron/loadbalancer.py:428 #, python-format msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:376 +#: heat/engine/resources/neutron/loadbalancer.py:433 #, python-format msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:453 -#: heat/engine/resources/neutron/loadbalancer.py:492 -#: heat/engine/resources/neutron/loadbalancer.py:553 +#: heat/engine/resources/neutron/loadbalancer.py:518 +#: heat/engine/resources/neutron/loadbalancer.py:565 +#: heat/engine/resources/neutron/loadbalancer.py:629 msgid "The ID of the load balancing pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:459 +#: heat/engine/resources/neutron/loadbalancer.py:524 msgid "IP address of the pool member on the pool network." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:464 +#: heat/engine/resources/neutron/loadbalancer.py:529 +#: heat/engine/resources/neutron/loadbalancer.py:568 msgid "TCP port on which the pool member listens for requests or connections." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:473 +#: heat/engine/resources/neutron/loadbalancer.py:538 msgid "Weight of pool member in the pool (default to 1)." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:481 +#: heat/engine/resources/neutron/loadbalancer.py:546 msgid "The administrative state of the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:487 +#: heat/engine/resources/neutron/loadbalancer.py:553 msgid "The administrative state of this pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:489 +#: heat/engine/resources/neutron/loadbalancer.py:556 msgid "Tenant owning the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:490 +#: heat/engine/resources/neutron/loadbalancer.py:559 msgid "Weight of the pool member in the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:491 +#: heat/engine/resources/neutron/loadbalancer.py:562 msgid "IP address of the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:493 -msgid "TCP port on which the pool member listens forrequests or connections." -msgstr "" - -#: heat/engine/resources/neutron/loadbalancer.py:559 +#: heat/engine/resources/neutron/loadbalancer.py:635 msgid "Port number on which the servers are running on the members." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:564 +#: heat/engine/resources/neutron/loadbalancer.py:640 msgid "The list of Nova server IDs load balanced." msgstr "" -#: heat/engine/resources/neutron/metering.py:37 -#: heat/engine/resources/neutron/metering.py:46 +#: heat/engine/resources/neutron/metering.py:44 +#: heat/engine/resources/neutron/metering.py:54 msgid "Name of the metering label." msgstr "" -#: heat/engine/resources/neutron/metering.py:41 -#: heat/engine/resources/neutron/metering.py:47 +#: heat/engine/resources/neutron/metering.py:48 +#: heat/engine/resources/neutron/metering.py:57 msgid "Description of the metering label." msgstr "" -#: heat/engine/resources/neutron/metering.py:87 +#: heat/engine/resources/neutron/metering.py:106 +#: heat/engine/resources/neutron/metering.py:140 msgid "The metering label ID to associate with this metering rule." msgstr "" -#: heat/engine/resources/neutron/metering.py:92 +#: heat/engine/resources/neutron/metering.py:111 msgid "Indicates remote IP prefix to be associated with this metering rule." msgstr "" -#: heat/engine/resources/neutron/metering.py:98 +#: heat/engine/resources/neutron/metering.py:117 msgid "The direction in which metering rule is applied, either ingress or egress." msgstr "" -#: heat/engine/resources/neutron/metering.py:106 +#: heat/engine/resources/neutron/metering.py:125 msgid "" "Specify whether the remote_ip_prefix will be excluded or not from traffic" " counters of the metering label. For example to not count the traffic of " "a specific IP address of a range." msgstr "" -#: heat/engine/resources/neutron/metering.py:114 +#: heat/engine/resources/neutron/metering.py:134 msgid "The direction in which metering rule is applied." msgstr "" -#: heat/engine/resources/neutron/metering.py:115 +#: heat/engine/resources/neutron/metering.py:137 msgid "Exclude state for cidr." msgstr "" -#: heat/engine/resources/neutron/metering.py:116 -msgid "The metering label ID to associate with this metering rule.." -msgstr "" - -#: heat/engine/resources/neutron/metering.py:118 +#: heat/engine/resources/neutron/metering.py:143 msgid "CIDR to be associated with this metering rule." msgstr "" -#: heat/engine/resources/neutron/net.py:38 +#: heat/engine/resources/neutron/net.py:43 msgid "" "A string specifying a symbolic name for the network, which is not " "required to be unique." msgstr "" -#: heat/engine/resources/neutron/net.py:44 +#: heat/engine/resources/neutron/net.py:49 msgid "" "Extra parameters to include in the \"network\" object in the creation " "request. Parameters are often specific to installed hardware or " "extensions." msgstr "" -#: heat/engine/resources/neutron/net.py:52 +#: heat/engine/resources/neutron/net.py:57 msgid "A boolean value specifying the administrative status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:59 +#: heat/engine/resources/neutron/net.py:64 msgid "" "The ID of the tenant which will own the network. Only administrative " "users can set the tenant identifier; this cannot be changed using " "authorization policies." msgstr "" -#: heat/engine/resources/neutron/net.py:65 +#: heat/engine/resources/neutron/net.py:70 msgid "" "Whether this network should be shared across all tenants. Note that the " "default policy setting restricts usage of this attribute to " "administrative users only." msgstr "" -#: heat/engine/resources/neutron/net.py:73 +#: heat/engine/resources/neutron/net.py:78 msgid "" "The IDs of the DHCP agent to schedule the network. Note that the default " "policy setting in Neutron restricts usage of this property to " "administrative users only." msgstr "" -#: heat/engine/resources/neutron/net.py:81 -#: heat/engine/resources/neutron/provider_net.py:66 +#: heat/engine/resources/neutron/net.py:87 +#: heat/engine/resources/neutron/provider_net.py:73 msgid "The status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:82 +#: heat/engine/resources/neutron/net.py:90 msgid "The name of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:83 -#: heat/engine/resources/neutron/provider_net.py:67 +#: heat/engine/resources/neutron/net.py:93 +#: heat/engine/resources/neutron/provider_net.py:76 msgid "Subnets of this network." msgstr "" -#: heat/engine/resources/neutron/net.py:84 +#: heat/engine/resources/neutron/net.py:96 msgid "The administrative status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:85 +#: heat/engine/resources/neutron/net.py:99 msgid "The tenant owning this network." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:56 +#: heat/engine/resources/neutron/network_gateway.py:62 msgid "The name of the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:61 +#: heat/engine/resources/neutron/network_gateway.py:67 msgid "Device info for this network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:70 +#: heat/engine/resources/neutron/network_gateway.py:76 msgid "The device id for the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:76 +#: heat/engine/resources/neutron/network_gateway.py:82 msgid "The interface name for the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:85 +#: heat/engine/resources/neutron/network_gateway.py:91 msgid "Connection info for this network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:93 -msgid "The id of internal network to connect on the network gateway." +#: heat/engine/resources/neutron/network_gateway.py:106 +msgid "The internal network to connect on the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:100 +#: heat/engine/resources/neutron/network_gateway.py:113 msgid "L2 segmentation strategy on the external side of the network gateway." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:109 +#: heat/engine/resources/neutron/network_gateway.py:122 msgid "" "The id for L2 segment on the external side of the network gateway. Must " "be specified when using vlan." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:121 +#: heat/engine/resources/neutron/network_gateway.py:135 msgid "A boolean value of default flag." msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:143 +#: heat/engine/resources/neutron/network_gateway.py:160 msgid "segmentation_id must be specified for using vlan" msgstr "" -#: heat/engine/resources/neutron/network_gateway.py:147 +#: heat/engine/resources/neutron/network_gateway.py:164 msgid "segmentation_id cannot be specified except 0 for using flat" msgstr "" -#: heat/engine/resources/neutron/neutron.py:114 +#: heat/engine/resources/neutron/neutron.py:61 +#, python-format +msgid "Either %(prop_key)s or %(depr_prop_key)s should be specified." +msgstr "" + +#: heat/engine/resources/neutron/neutron.py:124 #, python-format msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/neutron/neutron.py:123 +#: heat/engine/resources/neutron/neutron.py:133 #, python-format msgid "failed to fetch resource attributes: %s" msgstr "" -#: heat/engine/resources/neutron/port.py:53 -msgid "Network ID this port belongs to." +#: heat/engine/resources/neutron/port.py:75 +msgid "Network this port belongs to." msgstr "" -#: heat/engine/resources/neutron/port.py:58 +#: heat/engine/resources/neutron/port.py:80 msgid "A symbolic name for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:63 +#: heat/engine/resources/neutron/port.py:85 msgid "" "Extra parameters to include in the \"port\" object in the creation " "request." msgstr "" -#: heat/engine/resources/neutron/port.py:69 -#: heat/engine/resources/neutron/port.py:137 +#: heat/engine/resources/neutron/port.py:91 +#: heat/engine/resources/neutron/port.py:166 msgid "The administrative state of this port." msgstr "" -#: heat/engine/resources/neutron/port.py:75 +#: heat/engine/resources/neutron/port.py:97 msgid "Desired IPs for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:82 +#: heat/engine/resources/neutron/port.py:110 msgid "Subnet in which to allocate the IP address for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:87 +#: heat/engine/resources/neutron/port.py:115 msgid "IP address desired in the subnet for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:95 +#: heat/engine/resources/neutron/port.py:123 msgid "MAC address to give to this port." msgstr "" -#: heat/engine/resources/neutron/port.py:99 +#: heat/engine/resources/neutron/port.py:127 msgid "Device ID of this port." msgstr "" -#: heat/engine/resources/neutron/port.py:104 +#: heat/engine/resources/neutron/port.py:132 msgid "Security group IDs to associate with this port." msgstr "" -#: heat/engine/resources/neutron/port.py:110 +#: heat/engine/resources/neutron/port.py:138 msgid "Additional MAC/IP address pairs allowed to pass through the port." msgstr "" -#: heat/engine/resources/neutron/port.py:117 +#: heat/engine/resources/neutron/port.py:145 msgid "MAC address to allow through this port." msgstr "" -#: heat/engine/resources/neutron/port.py:121 +#: heat/engine/resources/neutron/port.py:149 msgid "IP address to allow through this port." msgstr "" -#: heat/engine/resources/neutron/port.py:129 +#: heat/engine/resources/neutron/port.py:157 msgid "" "Name of the network owning the port. The value is typically " "network:floatingip or network:router_interface or network:dhcp" msgstr "" -#: heat/engine/resources/neutron/port.py:138 +#: heat/engine/resources/neutron/port.py:169 msgid "Unique identifier for the device." msgstr "" -#: heat/engine/resources/neutron/port.py:139 +#: heat/engine/resources/neutron/port.py:172 msgid "Name of the network owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:140 +#: heat/engine/resources/neutron/port.py:175 msgid "Fixed IP addresses." msgstr "" -#: heat/engine/resources/neutron/port.py:141 +#: heat/engine/resources/neutron/port.py:178 msgid "MAC address of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:142 +#: heat/engine/resources/neutron/port.py:181 msgid "Friendly name of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:143 +#: heat/engine/resources/neutron/port.py:184 msgid "Unique identifier for the network owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:144 +#: heat/engine/resources/neutron/port.py:187 msgid "A list of security groups for the port." msgstr "" -#: heat/engine/resources/neutron/port.py:145 +#: heat/engine/resources/neutron/port.py:190 msgid "The status of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:146 +#: heat/engine/resources/neutron/port.py:193 msgid "Tenant owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:147 +#: heat/engine/resources/neutron/port.py:196 msgid "Additional MAC/IP address pairs allowed to pass through a port." msgstr "" -#: heat/engine/resources/neutron/port.py:227 -#, python-format -msgid "updating port with %s" -msgstr "" - -#: heat/engine/resources/neutron/provider_net.py:33 +#: heat/engine/resources/neutron/provider_net.py:41 msgid "A string specifying the provider network type for the network." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:43 +#: heat/engine/resources/neutron/provider_net.py:51 msgid "A string specifying physical network mapping for the network." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:50 +#: heat/engine/resources/neutron/provider_net.py:58 msgid "A string specifying the segmentation id for the network." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:57 +#: heat/engine/resources/neutron/provider_net.py:65 msgid "Whether this network should be shared across all tenants." msgstr "" -#: heat/engine/resources/neutron/provider_net.py:80 +#: heat/engine/resources/neutron/provider_net.py:92 msgid "segmentation_id not allowed for flat network type." msgstr "" -#: heat/engine/resources/neutron/router.py:48 +#: heat/engine/resources/neutron/router.py:54 msgid "The name of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:53 +#: heat/engine/resources/neutron/router.py:59 msgid "External network gateway configuration for a router." msgstr "" -#: heat/engine/resources/neutron/router.py:57 +#: heat/engine/resources/neutron/router.py:63 msgid "ID or name of the external network for the gateway." msgstr "" -#: heat/engine/resources/neutron/router.py:63 +#: heat/engine/resources/neutron/router.py:69 msgid "" "Enables Source NAT on the router gateway. NOTE: The default policy " "setting in Neutron restricts usage of this property to administrative " "users only." msgstr "" -#: heat/engine/resources/neutron/router.py:73 -#: heat/engine/resources/neutron/subnet.py:63 +#: heat/engine/resources/neutron/router.py:79 +#: heat/engine/resources/neutron/subnet.py:80 msgid "Extra parameters to include in the creation request." msgstr "" -#: heat/engine/resources/neutron/router.py:79 +#: heat/engine/resources/neutron/router.py:85 msgid "The administrative state of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:85 +#: heat/engine/resources/neutron/router.py:91 msgid "" "ID of the L3 agent. NOTE: The default policy setting in Neutron restricts" " usage of this property to administrative users only." msgstr "" -#: heat/engine/resources/neutron/router.py:93 +#: heat/engine/resources/neutron/router.py:100 msgid "The status of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:94 +#: heat/engine/resources/neutron/router.py:103 msgid "Gateway network for the router." msgstr "" -#: heat/engine/resources/neutron/router.py:95 +#: heat/engine/resources/neutron/router.py:106 msgid "Friendly name of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:96 +#: heat/engine/resources/neutron/router.py:109 msgid "Administrative state of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:97 +#: heat/engine/resources/neutron/router.py:112 msgid "Tenant owning the router." msgstr "" -#: heat/engine/resources/neutron/router.py:190 +#: heat/engine/resources/neutron/router.py:207 msgid "The router id." msgstr "" -#: heat/engine/resources/neutron/router.py:195 -msgid "The subnet id, either subnet_id or port_id should be specified." +#: heat/engine/resources/neutron/router.py:218 +msgid "The subnet, either subnet or port_id should be specified." msgstr "" -#: heat/engine/resources/neutron/router.py:200 -msgid "The port id, either subnet_id or port_id should be specified." +#: heat/engine/resources/neutron/router.py:223 +msgid "The port id, either subnet or port_id should be specified." msgstr "" -#: heat/engine/resources/neutron/router.py:250 +#: heat/engine/resources/neutron/router.py:288 msgid "" "RouterGateway resource is deprecated and should not be used. Instead use " "the `external_gateway_info` property in the router resource to set up the" " gateway." msgstr "" -#: heat/engine/resources/neutron/router.py:264 +#: heat/engine/resources/neutron/router.py:302 msgid "ID of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:269 -msgid "ID of the external network for the gateway." +#: heat/engine/resources/neutron/router.py:314 +msgid "external network for the gateway." msgstr "" -#: heat/engine/resources/neutron/security_group.py:48 +#: heat/engine/resources/neutron/security_group.py:45 msgid "" "The direction in which the security group rule is applied. For a compute " "instance, an ingress security group rule matches traffic that is incoming" @@ -4777,11 +4721,11 @@ msgid "" "leaving the instance." msgstr "" -#: heat/engine/resources/neutron/security_group.py:60 +#: heat/engine/resources/neutron/security_group.py:57 msgid "Ethertype of the traffic." msgstr "" -#: heat/engine/resources/neutron/security_group.py:68 +#: heat/engine/resources/neutron/security_group.py:65 msgid "" "The minimum port number in the range that is matched by the security " "group rule. If the protocol is TCP or UDP, this value must be less than " @@ -4789,469 +4733,469 @@ msgid "" " ICMP, this value must be an ICMP type." msgstr "" -#: heat/engine/resources/neutron/security_group.py:76 +#: heat/engine/resources/neutron/security_group.py:73 msgid "" "The maximum port number in the range that is matched by the security " "group rule. The port_range_min attribute constrains the port_range_max " "attribute. If the protocol is ICMP, this value must be an ICMP type." msgstr "" -#: heat/engine/resources/neutron/security_group.py:83 +#: heat/engine/resources/neutron/security_group.py:80 msgid "" "The protocol that is matched by the security group rule. Valid values " "include tcp, udp, and icmp." msgstr "" -#: heat/engine/resources/neutron/security_group.py:88 +#: heat/engine/resources/neutron/security_group.py:85 msgid "Whether to specify a remote group or a remote IP prefix." msgstr "" -#: heat/engine/resources/neutron/security_group.py:97 +#: heat/engine/resources/neutron/security_group.py:94 msgid "" "The remote group ID to be associated with this security group rule. If no" " value is specified then this rule will use this security group for the " "remote_group_id." msgstr "" -#: heat/engine/resources/neutron/security_group.py:103 +#: heat/engine/resources/neutron/security_group.py:100 msgid "" "The remote IP prefix (CIDR) to be associated with this security group " "rule." msgstr "" -#: heat/engine/resources/neutron/security_group.py:111 +#: heat/engine/resources/neutron/security_group.py:108 msgid "" "A string specifying a symbolic name for the security group, which is not " "required to be unique." msgstr "" -#: heat/engine/resources/neutron/security_group.py:122 +#: heat/engine/resources/neutron/security_group.py:119 msgid "List of security group rules." msgstr "" -#: heat/engine/resources/neutron/security_group.py:142 +#: heat/engine/resources/neutron/security_group.py:137 msgid "Security groups cannot be assigned the name \"default\"." msgstr "" -#: heat/engine/resources/neutron/subnet.py:53 +#: heat/engine/resources/neutron/subnet.py:70 msgid "The ID of the attached network." msgstr "" -#: heat/engine/resources/neutron/subnet.py:58 +#: heat/engine/resources/neutron/subnet.py:75 msgid "The CIDR." msgstr "" -#: heat/engine/resources/neutron/subnet.py:69 +#: heat/engine/resources/neutron/subnet.py:86 msgid "The name of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:74 +#: heat/engine/resources/neutron/subnet.py:91 msgid "The IP version, which is 4 or 6." msgstr "" -#: heat/engine/resources/neutron/subnet.py:82 +#: heat/engine/resources/neutron/subnet.py:99 msgid "A specified set of DNS name servers to be used." msgstr "" -#: heat/engine/resources/neutron/subnet.py:88 +#: heat/engine/resources/neutron/subnet.py:105 msgid "The gateway IP address." msgstr "" -#: heat/engine/resources/neutron/subnet.py:93 +#: heat/engine/resources/neutron/subnet.py:110 msgid "Set to true if DHCP is enabled and false if DHCP is disabled." msgstr "" -#: heat/engine/resources/neutron/subnet.py:99 +#: heat/engine/resources/neutron/subnet.py:116 msgid "The start and end addresses for the allocation pools." msgstr "" -#: heat/engine/resources/neutron/subnet.py:116 +#: heat/engine/resources/neutron/subnet.py:133 msgid "" "The ID of the tenant who owns the network. Only administrative users can " "specify a tenant ID other than their own." msgstr "" -#: heat/engine/resources/neutron/subnet.py:138 +#: heat/engine/resources/neutron/subnet.py:156 msgid "Friendly name of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:139 +#: heat/engine/resources/neutron/subnet.py:159 msgid "Parent network of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:140 +#: heat/engine/resources/neutron/subnet.py:162 msgid "Tenant owning the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:141 +#: heat/engine/resources/neutron/subnet.py:165 msgid "Ip allocation pools and their ranges." msgstr "" -#: heat/engine/resources/neutron/subnet.py:142 +#: heat/engine/resources/neutron/subnet.py:168 msgid "Ip of the subnet's gateway." msgstr "" -#: heat/engine/resources/neutron/subnet.py:143 +#: heat/engine/resources/neutron/subnet.py:171 msgid "Additional routes for this subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:144 +#: heat/engine/resources/neutron/subnet.py:174 msgid "Ip version for the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:145 +#: heat/engine/resources/neutron/subnet.py:177 msgid "CIDR block notation for this subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:146 +#: heat/engine/resources/neutron/subnet.py:180 msgid "List of dns nameservers." msgstr "" -#: heat/engine/resources/neutron/subnet.py:147 +#: heat/engine/resources/neutron/subnet.py:183 msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:40 +#: heat/engine/resources/neutron/vpnservice.py:50 msgid "Name for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:45 +#: heat/engine/resources/neutron/vpnservice.py:55 msgid "Description for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:50 +#: heat/engine/resources/neutron/vpnservice.py:60 msgid "Administrative state for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:56 -msgid "Unique identifier for the subnet in which the vpn service will be created." +#: heat/engine/resources/neutron/vpnservice.py:73 +msgid "Subnet in which the vpn service will be created." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:62 +#: heat/engine/resources/neutron/vpnservice.py:78 msgid "" "Unique identifier for the router to which the vpn service will be " "inserted." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:69 +#: heat/engine/resources/neutron/vpnservice.py:86 msgid "The administrative state of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:70 +#: heat/engine/resources/neutron/vpnservice.py:89 msgid "The description of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:71 +#: heat/engine/resources/neutron/vpnservice.py:92 msgid "The name of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:72 +#: heat/engine/resources/neutron/vpnservice.py:95 msgid "The unique identifier of the router to which the vpn service was inserted." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:74 +#: heat/engine/resources/neutron/vpnservice.py:99 msgid "The status of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:75 +#: heat/engine/resources/neutron/vpnservice.py:102 msgid "The unique identifier of the subnet in which the vpn service was created." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:77 +#: heat/engine/resources/neutron/vpnservice.py:106 msgid "The unique identifier of the tenant owning the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:134 +#: heat/engine/resources/neutron/vpnservice.py:183 msgid "Name for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:139 +#: heat/engine/resources/neutron/vpnservice.py:188 msgid "Description for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:144 +#: heat/engine/resources/neutron/vpnservice.py:193 msgid "Remote branch router public IPv4 address or IPv6 address or FQDN." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:150 +#: heat/engine/resources/neutron/vpnservice.py:199 msgid "Remote branch router identity." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:155 +#: heat/engine/resources/neutron/vpnservice.py:204 msgid "Remote subnet(s) in CIDR format." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:160 +#: heat/engine/resources/neutron/vpnservice.py:209 msgid "Maximum transmission unit size (in bytes) for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:166 +#: heat/engine/resources/neutron/vpnservice.py:215 msgid "Dead Peer Detection protocol configuration for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:171 +#: heat/engine/resources/neutron/vpnservice.py:220 msgid "Controls DPD protocol mode." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:181 +#: heat/engine/resources/neutron/vpnservice.py:230 msgid "Number of seconds for the DPD delay." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:186 +#: heat/engine/resources/neutron/vpnservice.py:235 msgid "Number of seconds for the DPD timeout." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:193 +#: heat/engine/resources/neutron/vpnservice.py:242 msgid "Pre-shared key string for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:198 +#: heat/engine/resources/neutron/vpnservice.py:247 msgid "Initiator state in lowercase for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:206 +#: heat/engine/resources/neutron/vpnservice.py:255 msgid "Administrative state for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:212 +#: heat/engine/resources/neutron/vpnservice.py:261 msgid "" "Unique identifier for the ike policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:218 +#: heat/engine/resources/neutron/vpnservice.py:267 msgid "" "Unique identifier for the ipsec policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:224 +#: heat/engine/resources/neutron/vpnservice.py:273 msgid "" "Unique identifier for the vpn service associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:231 +#: heat/engine/resources/neutron/vpnservice.py:281 msgid "The administrative state of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:233 +#: heat/engine/resources/neutron/vpnservice.py:284 msgid "The authentication mode of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:235 +#: heat/engine/resources/neutron/vpnservice.py:287 msgid "The description of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:236 +#: heat/engine/resources/neutron/vpnservice.py:290 msgid "" "The dead peer detection protocol configuration of the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:238 +#: heat/engine/resources/neutron/vpnservice.py:294 msgid "" "The unique identifier of ike policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:240 +#: heat/engine/resources/neutron/vpnservice.py:298 msgid "The initiator of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:241 +#: heat/engine/resources/neutron/vpnservice.py:301 msgid "" "The unique identifier of ipsec policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:243 +#: heat/engine/resources/neutron/vpnservice.py:305 msgid "" "The maximum transmission unit size (in bytes) of the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:245 +#: heat/engine/resources/neutron/vpnservice.py:309 msgid "The name of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:246 +#: heat/engine/resources/neutron/vpnservice.py:312 msgid "The remote branch router public IPv4 address or IPv6 address or FQDN." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:248 +#: heat/engine/resources/neutron/vpnservice.py:316 msgid "The remote subnet(s) in CIDR format of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:250 +#: heat/engine/resources/neutron/vpnservice.py:320 msgid "The remote branch router identity of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:252 +#: heat/engine/resources/neutron/vpnservice.py:324 msgid "The pre-shared key string of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:253 +#: heat/engine/resources/neutron/vpnservice.py:327 msgid "The route mode of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:254 +#: heat/engine/resources/neutron/vpnservice.py:330 msgid "The status of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:255 +#: heat/engine/resources/neutron/vpnservice.py:333 msgid "The unique identifier of the tenant owning the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:257 +#: heat/engine/resources/neutron/vpnservice.py:337 msgid "" "The unique identifier of vpn service associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:312 +#: heat/engine/resources/neutron/vpnservice.py:401 msgid "Name for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:317 +#: heat/engine/resources/neutron/vpnservice.py:406 msgid "Description for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:322 +#: heat/engine/resources/neutron/vpnservice.py:411 msgid "Authentication hash algorithm for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:330 +#: heat/engine/resources/neutron/vpnservice.py:419 msgid "Encryption algorithm for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:339 +#: heat/engine/resources/neutron/vpnservice.py:428 msgid "Negotiation mode for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:347 +#: heat/engine/resources/neutron/vpnservice.py:436 msgid "Safety assessment lifetime configuration for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:351 -#: heat/engine/resources/neutron/vpnservice.py:498 +#: heat/engine/resources/neutron/vpnservice.py:440 +#: heat/engine/resources/neutron/vpnservice.py:609 msgid "Safety assessment lifetime units." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:359 -#: heat/engine/resources/neutron/vpnservice.py:507 +#: heat/engine/resources/neutron/vpnservice.py:448 +#: heat/engine/resources/neutron/vpnservice.py:618 msgid "Safety assessment lifetime value in specified units." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:367 +#: heat/engine/resources/neutron/vpnservice.py:456 msgid "Perfect forward secrecy in lowercase for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:375 +#: heat/engine/resources/neutron/vpnservice.py:464 msgid "Version for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:384 +#: heat/engine/resources/neutron/vpnservice.py:474 msgid "The authentication hash algorithm used by the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:386 +#: heat/engine/resources/neutron/vpnservice.py:477 msgid "The description of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:387 +#: heat/engine/resources/neutron/vpnservice.py:480 msgid "The encryption algorithm used by the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:389 +#: heat/engine/resources/neutron/vpnservice.py:483 msgid "The version of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:390 +#: heat/engine/resources/neutron/vpnservice.py:486 msgid "The safety assessment lifetime configuration for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:392 +#: heat/engine/resources/neutron/vpnservice.py:490 msgid "The name of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:393 +#: heat/engine/resources/neutron/vpnservice.py:493 msgid "The perfect forward secrecy of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:394 +#: heat/engine/resources/neutron/vpnservice.py:496 msgid "The negotiation mode of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:396 +#: heat/engine/resources/neutron/vpnservice.py:499 msgid "The unique identifier of the tenant owning the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:450 +#: heat/engine/resources/neutron/vpnservice.py:561 msgid "Name for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:455 +#: heat/engine/resources/neutron/vpnservice.py:566 msgid "Description for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:460 +#: heat/engine/resources/neutron/vpnservice.py:571 msgid "Transform protocol for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:468 +#: heat/engine/resources/neutron/vpnservice.py:579 msgid "Encapsulation mode for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:476 +#: heat/engine/resources/neutron/vpnservice.py:587 msgid "Authentication hash algorithm for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:484 +#: heat/engine/resources/neutron/vpnservice.py:595 msgid "Encryption algorithm for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:493 +#: heat/engine/resources/neutron/vpnservice.py:604 msgid "Safety assessment lifetime configuration for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:515 +#: heat/engine/resources/neutron/vpnservice.py:626 msgid "Perfect forward secrecy for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:524 +#: heat/engine/resources/neutron/vpnservice.py:636 msgid "The authentication hash algorithm of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:526 +#: heat/engine/resources/neutron/vpnservice.py:639 msgid "The description of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:527 +#: heat/engine/resources/neutron/vpnservice.py:642 msgid "The encapsulation mode of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:528 +#: heat/engine/resources/neutron/vpnservice.py:645 msgid "The encryption algorithm of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:530 +#: heat/engine/resources/neutron/vpnservice.py:648 msgid "The safety assessment lifetime configuration of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:532 +#: heat/engine/resources/neutron/vpnservice.py:652 msgid "The name of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:533 +#: heat/engine/resources/neutron/vpnservice.py:655 msgid "The perfect forward secrecy of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:534 +#: heat/engine/resources/neutron/vpnservice.py:658 msgid "The unique identifier of the tenant owning the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:536 +#: heat/engine/resources/neutron/vpnservice.py:661 msgid "The transform protocol of the ipsec policy." msgstr "" @@ -5283,76 +5227,71 @@ msgstr "" msgid "Optional subtype to specify with the type." msgstr "" -#: heat/engine/resources/software_config/software_config.py:63 +#: heat/engine/resources/software_config/software_config.py:70 msgid "Name of the input." msgstr "" -#: heat/engine/resources/software_config/software_config.py:68 +#: heat/engine/resources/software_config/software_config.py:75 msgid "Description of the input." msgstr "" -#: heat/engine/resources/software_config/software_config.py:72 +#: heat/engine/resources/software_config/software_config.py:79 msgid "Type of the value of the input." msgstr "" -#: heat/engine/resources/software_config/software_config.py:79 +#: heat/engine/resources/software_config/software_config.py:86 msgid "Default value for the input if none is specified." msgstr "" -#: heat/engine/resources/software_config/software_config.py:86 +#: heat/engine/resources/software_config/software_config.py:93 msgid "Name of the output." msgstr "" -#: heat/engine/resources/software_config/software_config.py:91 +#: heat/engine/resources/software_config/software_config.py:98 msgid "Description of the output." msgstr "" -#: heat/engine/resources/software_config/software_config.py:95 +#: heat/engine/resources/software_config/software_config.py:102 msgid "Type of the value of the output." msgstr "" -#: heat/engine/resources/software_config/software_config.py:102 +#: heat/engine/resources/software_config/software_config.py:109 msgid "" "Denotes that the deployment is in an error state if this output has a " "value." msgstr "" -#: heat/engine/resources/software_config/software_config.py:111 +#: heat/engine/resources/software_config/software_config.py:118 msgid "" "Namespace to group this software config by when delivered to a server. " "This may imply what configuration tool is going to perform the " "configuration." msgstr "" -#: heat/engine/resources/software_config/software_config.py:118 +#: heat/engine/resources/software_config/software_config.py:125 msgid "" "Configuration script or manifest which specifies what actual " "configuration is performed." msgstr "" -#: heat/engine/resources/software_config/software_config.py:123 +#: heat/engine/resources/software_config/software_config.py:130 msgid "" "Map containing options specific to the configuration management tool used" " by this resource." msgstr "" -#: heat/engine/resources/software_config/software_config.py:128 +#: heat/engine/resources/software_config/software_config.py:135 msgid "Schema representing the inputs that this software config is expecting." msgstr "" -#: heat/engine/resources/software_config/software_config.py:135 +#: heat/engine/resources/software_config/software_config.py:142 msgid "Schema representing the outputs that this software config will produce." msgstr "" -#: heat/engine/resources/software_config/software_config.py:143 +#: heat/engine/resources/software_config/software_config.py:151 msgid "The config value of the software config." msgstr "" -#: heat/engine/resources/software_config/software_config.py:162 -#, python-format -msgid "Software config %s is not found." -msgstr "" - #: heat/engine/resources/software_config/software_deployment.py:108 msgid "" "ID of software configuration resource to execute when applying to the " @@ -5387,80 +5326,87 @@ msgid "" "going to the COMPLETE state without waiting for any signal." msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:152 +#: heat/engine/resources/software_config/software_deployment.py:153 msgid "Captured stdout from the configuration execution." msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:153 +#: heat/engine/resources/software_config/software_deployment.py:156 msgid "Captured stderr from the configuration execution." msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:154 +#: heat/engine/resources/software_config/software_deployment.py:159 msgid "Returned status code from the configuration execution" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:182 +#: heat/engine/resources/software_config/software_deployment.py:185 msgid "Not waiting for outputs signal" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:185 +#: heat/engine/resources/software_config/software_deployment.py:188 msgid "Deploy data available" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:237 +#: heat/engine/resources/software_config/software_deployment.py:240 #, python-format msgid "Deployment to server failed: %s" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:287 +#: heat/engine/resources/software_config/software_deployment.py:290 msgid "ID of the server being deployed to" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:292 +#: heat/engine/resources/software_config/software_deployment.py:295 msgid "Name of the current action being deployed" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:297 +#: heat/engine/resources/software_config/software_deployment.py:300 msgid "ID of the stack this deployment belongs to" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:302 +#: heat/engine/resources/software_config/software_deployment.py:305 msgid "Name of this deployment resource in the stack" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:310 +#: heat/engine/resources/software_config/software_deployment.py:313 msgid "ID of signal to use for signalling output values" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:318 +#: heat/engine/resources/software_config/software_deployment.py:321 msgid "URL for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:323 +#: heat/engine/resources/software_config/software_deployment.py:326 msgid "Username for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:328 +#: heat/engine/resources/software_config/software_deployment.py:331 msgid "User ID for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:333 +#: heat/engine/resources/software_config/software_deployment.py:336 msgid "Password for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:338 +#: heat/engine/resources/software_config/software_deployment.py:341 msgid "ID of project for API authentication" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:446 +#: heat/engine/resources/software_config/software_deployment.py:440 #, python-format msgid "Deployment exited with non-zero status code: %s" msgstr "" -#: heat/engine/resources/software_config/software_deployment.py:468 +#: heat/engine/resources/software_config/software_deployment.py:462 msgid "Outputs received" msgstr "" +#: heat/engine/resources/software_config/software_deployment.py:493 +#, python-format +msgid "" +"Resource %s's property user_data_format should be set to SOFTWARE_CONFIG " +"since there are software deployments on it." +msgstr "" + #: heat/engine/resources/software_config/structured_config.py:53 msgid "" "Map representing the configuration data structure which will be " @@ -5471,11 +5417,11 @@ msgstr "" msgid "Name of key to use for substituting inputs during deployment" msgstr "" -#: heat/openstack/common/gettextutils.py:271 +#: heat/openstack/common/gettextutils.py:320 msgid "Message objects do not support addition." msgstr "" -#: heat/openstack/common/gettextutils.py:281 +#: heat/openstack/common/gettextutils.py:330 msgid "" "Message objects do not support str() because they may contain non-ascii " "characters. Please use unicode() or translate() instead." @@ -5491,89 +5437,86 @@ msgstr "" msgid "Deprecated: %s" msgstr "" -#: heat/openstack/common/log.py:438 +#: heat/openstack/common/log.py:436 #, python-format msgid "Error loading logging config %(log_config)s: %(err_msg)s" msgstr "" -#: heat/openstack/common/log.py:489 +#: heat/openstack/common/log.py:486 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: heat/openstack/common/log.py:710 +#: heat/openstack/common/log.py:729 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" #: heat/openstack/common/policy.py:96 -msgid "JSON file containing policy" +msgid "The JSON file that defines policies." msgstr "" #: heat/openstack/common/policy.py:99 -msgid "Rule enforced when requested rule is not found" +msgid "Default rule. Enforced when a requested rule is not found." msgstr "" -#: heat/openstack/common/policy.py:113 +#: heat/openstack/common/policy.py:114 #, python-format msgid "Policy doesn't allow %s to be performed." msgstr "" -#: heat/openstack/common/policy.py:207 +#: heat/openstack/common/policy.py:208 #, python-format msgid "Rules must be an instance of dict or Rules, got %s instead" msgstr "" -#: heat/openstack/common/processutils.py:131 +#: heat/openstack/common/processutils.py:58 +msgid "Unexpected error while running command." +msgstr "" + +#: heat/openstack/common/processutils.py:61 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: heat/openstack/common/processutils.py:143 #, python-format msgid "Got unknown keyword args to utils.execute: %r" msgstr "" -#: heat/openstack/common/processutils.py:146 -#, python-format -msgid "Running cmd (subprocess): %s" +#: heat/openstack/common/processutils.py:149 +msgid "Command requested root, but did not specify a root helper." msgstr "" -#: heat/openstack/common/processutils.py:170 -#: heat/openstack/common/processutils.py:242 -#, python-format -msgid "Result was %s" -msgstr "" - -#: heat/openstack/common/processutils.py:182 -#, python-format -msgid "%r failed. Retrying." -msgstr "" - -#: heat/openstack/common/processutils.py:221 -#, python-format -msgid "Running cmd (SSH): %s" -msgstr "" - -#: heat/openstack/common/processutils.py:223 +#: heat/openstack/common/processutils.py:246 msgid "Environment not supported over SSH" msgstr "" -#: heat/openstack/common/processutils.py:227 +#: heat/openstack/common/processutils.py:250 msgid "process_input not supported over SSH" msgstr "" -#: heat/openstack/common/sslutils.py:50 +#: heat/openstack/common/sslutils.py:47 #, python-format msgid "Unable to find cert_file : %s" msgstr "" -#: heat/openstack/common/sslutils.py:53 +#: heat/openstack/common/sslutils.py:50 #, python-format msgid "Unable to find ca_file : %s" msgstr "" -#: heat/openstack/common/sslutils.py:56 +#: heat/openstack/common/sslutils.py:53 #, python-format msgid "Unable to find key_file : %s" msgstr "" -#: heat/openstack/common/sslutils.py:98 +#: heat/openstack/common/sslutils.py:95 #, python-format msgid "Invalid SSL version : %s" msgstr "" @@ -5593,30 +5536,30 @@ msgstr "" msgid "Invalid string format: %s" msgstr "" -#: heat/openstack/common/versionutils.py:69 +#: heat/openstack/common/versionutils.py:70 #, python-format msgid "" "%(what)s is deprecated as of %(as_of)s in favor of %(in_favor_of)s and " "may be removed in %(remove_in)s." msgstr "" -#: heat/openstack/common/versionutils.py:73 +#: heat/openstack/common/versionutils.py:74 #, python-format msgid "" "%(what)s is deprecated as of %(as_of)s and may be removed in " "%(remove_in)s. It will not be superseded." msgstr "" -#: heat/openstack/common/crypto/utils.py:27 +#: heat/openstack/common/crypto/utils.py:30 msgid "An unknown error occurred in crypto utils." msgstr "" -#: heat/openstack/common/crypto/utils.py:34 +#: heat/openstack/common/crypto/utils.py:37 #, python-format msgid "Block size of %(given)d is too big, max = %(maximum)d" msgstr "" -#: heat/openstack/common/crypto/utils.py:43 +#: heat/openstack/common/crypto/utils.py:46 #, python-format msgid "Length of %(given)d is too long, max = %(maximum)d" msgstr "" @@ -5689,184 +5632,32 @@ msgstr "" msgid "Unsupported id columns type" msgstr "" -#: heat/openstack/common/notifier/api.py:129 -#, python-format -msgid "%s not in valid priorities" -msgstr "" - -#: heat/openstack/common/notifier/list_notifier.py:113 -#, python-format -msgid "Problem '%(e)s' attempting to send to notification driver %(driver)s." -msgstr "" - -#: heat/openstack/common/notifier/rabbit_notifier.py:28 -msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:202 -#, python-format -msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s" -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:205 -#, python-format -msgid "_call_waiters: %s" -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:212 -#, python-format -msgid "" -"Number of call waiters is greater than warning threshold: %d. There could" -" be a MulticallProxyWaiter leak." -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:443 -#, python-format -msgid "no method for message: %s" -msgstr "" - -#: heat/openstack/common/rpc/amqp.py:444 -#, python-format -msgid "No method for message: %s" -msgstr "" - -#: heat/openstack/common/rpc/common.py:76 -msgid "An unknown RPC related exception occurred." -msgstr "" - -#: heat/openstack/common/rpc/common.py:106 -#, python-format -msgid "" -"Remote error: %(exc_type)s %(value)s\n" -"%(traceback)s." -msgstr "" - -#: heat/openstack/common/rpc/common.py:123 -#, python-format -msgid "" -"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:" -" \"%(method)s\" info: \"%(info)s\"" -msgstr "" - -#: heat/openstack/common/rpc/common.py:140 -#: heat/openstack/common/rpc/common.py:141 -#: heat/openstack/common/rpc/common.py:142 -msgid "" -msgstr "" - -#: heat/openstack/common/rpc/common.py:146 -#, python-format -msgid "Found duplicate message(%(msg_id)s). Skipping it." -msgstr "" - -#: heat/openstack/common/rpc/common.py:150 -msgid "Invalid reuse of an RPC connection." -msgstr "" - -#: heat/openstack/common/rpc/common.py:154 -#, python-format -msgid "Specified RPC version, %(version)s, not supported by this endpoint." -msgstr "" - -#: heat/openstack/common/rpc/common.py:159 -#, python-format -msgid "" -"Specified RPC envelope version, %(version)s, not supported by this " -"endpoint." -msgstr "" - -#: heat/openstack/common/rpc/common.py:164 -#, python-format -msgid "Specified RPC version cap, %(version_cap)s, is too low" -msgstr "" - -#: heat/openstack/common/rpc/impl_kombu.py:557 -#, python-format -msgid "" -"Unable to connect to AMQP server on %(hostname)s:%(port)d after " -"%(max_retries)d tries: %(err_str)s" -msgstr "" - -#: heat/openstack/common/rpc/impl_qpid.py:87 -#, python-format -msgid "Invalid value for qpid_topology_version: %d" -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:146 -msgid "Could not open socket." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:200 -msgid "You cannot recv on this socket." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:205 -msgid "You cannot send on this socket." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:444 -msgid "Topic contained dangerous characters." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:692 -msgid "Unsupported or unknown ZMQ envelope returned." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:699 -msgid "RPC Message Invalid." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:729 -msgid "No matchmaker results. Not casting." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:732 -msgid "No match from matchmaker." -msgstr "" - -#: heat/openstack/common/rpc/impl_zmq.py:814 -#, python-format -msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead" -msgstr "" - -#: heat/openstack/common/rpc/matchmaker.py:46 -msgid "Match not found by MatchMaker." -msgstr "" - -#: heat/openstack/common/rpc/matchmaker.py:80 -msgid "Matchmaker does not implement registration or heartbeat." -msgstr "" - -#: heat/openstack/common/rpc/matchmaker.py:228 -msgid "Register before starting heartbeat." -msgstr "" - -#: heat/tests/generic_resource.py:32 +#: heat/tests/generic_resource.py:33 #, python-format msgid "Creating generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:36 +#: heat/tests/generic_resource.py:37 #, python-format msgid "Updating generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:40 +#: heat/tests/generic_resource.py:41 #, python-format msgid "Deleting generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:47 +#: heat/tests/generic_resource.py:48 #, python-format msgid "Suspending generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:51 +#: heat/tests/generic_resource.py:52 #, python-format msgid "Resuming generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:118 +#: heat/tests/generic_resource.py:134 #, python-format msgid "Signaled resource (Type \"%(type)s\") %(details)s" msgstr "" @@ -5876,17 +5667,17 @@ msgstr "" msgid "Testing message %(text)s" msgstr "" -#: heat/tests/test_function.py:24 +#: heat/tests/test_function.py:23 msgid "Need more arguments" msgstr "" -#: heat/tests/test_provider_template.py:398 -#: heat/tests/test_provider_template.py:504 -#: heat/tests/test_provider_template.py:530 +#: heat/tests/test_provider_template.py:422 +#: heat/tests/test_provider_template.py:537 +#: heat/tests/test_provider_template.py:565 msgid "Failed to retrieve template" msgstr "" -#: heat/tests/test_server.py:878 +#: heat/tests/test_server.py:906 #, python-format msgid "" "Properties \"uuid\" and \"network\" are both set to the network " @@ -5894,11 +5685,11 @@ msgid "" "deprecated. Use only \"network\" property." msgstr "" -#: heat/tests/test_validate.py:1373 +#: heat/tests/test_validate.py:1332 msgid "The InstanceType parameter must be assigned to one Parameter Group only." msgstr "" -#: heat/tests/test_validate.py:1388 +#: heat/tests/test_validate.py:1347 msgid "" "The Parameter name (SomethingNotHere) does not reference an existing " "parameter." diff --git a/heat/locale/ja/LC_MESSAGES/heat-log-error.po b/heat/locale/ja/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..75299af17b --- /dev/null +++ b/heat/locale/ja/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,85 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +# yfukuda , 2014 +# Manabu Shimohira , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/heat/language/" +"ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "除去される元の例外: %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "予期せぬ例外が、%d回()発生しました。再試行中。" + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "取得したロック `%s` を解放できませんでした" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "一定期間の呼び出しループ" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "動的呼び出しループ" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "ルール %s を解釈できませんでした" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "種類 %s の一致向けのハンドラーがありません" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "ルール %r を解釈できませんでした" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "RPCクリーンアップ中に例外が発生" + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "未処理例外" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "DBへのリトライが上限に達しました。" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "DB接続エラーが発生しました。" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "DB 例外がラップされました。" + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "" diff --git a/heat/locale/ko_KR/LC_MESSAGES/heat-log-error.po b/heat/locale/ko_KR/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..28691b49d9 --- /dev/null +++ b/heat/locale/ko_KR/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/heat/" +"language/ko_KR/)\n" +"Language: ko_KR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "기존 예외가 삭제됨: %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "예기치 않은 예외 %d 번 발생하였습니다... 다시 시도중." + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "획득한 `%s` 잠금을 해제할 수 없음" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "고정 기간 루프 호출에서" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "동적 루프 호출에서" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "%s 규칙을 이해하는데 실패했습니다" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "%s 유형의 일치에 대한 핸들러가 없음" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "룰 %r를 이해하지 못했습니다." + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "" + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "처리되지 않은 예외" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "데이터 베이스 연결 에러." + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "DB 예외가 랩핑되었습니다." + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "" diff --git a/heat/locale/pt_BR/LC_MESSAGES/heat-log-error.po b/heat/locale/pt_BR/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..5d124cefbc --- /dev/null +++ b/heat/locale/pt_BR/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/heat/" +"language/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "Exceção original sendo descartada: %s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "Exceção não esperada ocorreu %d vez(es)... tentando novamente." + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "Não foi possível liberar o bloqueio adquirido `%s`" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "em uma chamada de laço de duração fixa" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "em chamada de laço dinâmico" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "Falha ao interpretar regra %s" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "Nenhum manipulador para correspondências do tipo %s" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "Falha ao interpretar regra %r" + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "Exceção durante limpeza de RPC." + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "Exceção não tratada" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "Exceção de BD incluída." + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr "Falha ao migrar versão %(version)s no mecanismo %(engine)s" diff --git a/heat/locale/pt_BR/LC_MESSAGES/heat-log-info.po b/heat/locale/pt_BR/LC_MESSAGES/heat-log-info.po new file mode 100644 index 0000000000..c634fe4132 --- /dev/null +++ b/heat/locale/pt_BR/LC_MESSAGES/heat-log-info.po @@ -0,0 +1,92 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/heat/" +"language/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: heat/openstack/common/eventlet_backdoor.py:140 +#, python-format +msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" +msgstr "Backdoor de Eventlet escutando na porta %(port)s pelo processo %(pid)d" + +#: heat/openstack/common/lockutils.py:83 +#, python-format +msgid "Created lock path: %s" +msgstr "Criado caminho de lock: %s" + +#: heat/openstack/common/lockutils.py:250 +#, python-format +msgid "Failed to remove file %(file)s" +msgstr "" + +#: heat/openstack/common/service.py:176 +#, python-format +msgid "Caught %s, exiting" +msgstr "%s capturadas, saindo" + +#: heat/openstack/common/service.py:240 +msgid "Parent process has died unexpectedly, exiting" +msgstr "Processo pai saiu inesperadamente, saindo" + +#: heat/openstack/common/service.py:271 +#, python-format +msgid "Child caught %s, exiting" +msgstr "" + +#: heat/openstack/common/service.py:310 +msgid "Forking too fast, sleeping" +msgstr "Bifurcação muito rápida, suspendendo" + +#: heat/openstack/common/service.py:329 +#, python-format +msgid "Started child %d" +msgstr "Filho %d iniciado" + +#: heat/openstack/common/service.py:339 +#, python-format +msgid "Starting %d workers" +msgstr "Iniciando %d trabalhadores" + +#: heat/openstack/common/service.py:356 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "%(pid)d filho eliminado pelo sinal %(sig)d" + +#: heat/openstack/common/service.py:360 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "Filho %(pid)s encerrando com status %(code)d" + +#: heat/openstack/common/service.py:399 +#, python-format +msgid "Caught %s, stopping children" +msgstr "%s capturado, parando filhos" + +#: heat/openstack/common/service.py:408 +msgid "Wait called after thread killed. Cleaning up." +msgstr "" + +#: heat/openstack/common/service.py:424 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "Aguardando em %d filhos para sair" + +#: heat/openstack/common/db/sqlalchemy/utils.py:387 +#, python-format +msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "Excluindo linha duplicada com ID: %(id)s da tabela: %(table)s" diff --git a/heat/locale/zh_CN/LC_MESSAGES/heat-log-error.po b/heat/locale/zh_CN/LC_MESSAGES/heat-log-error.po new file mode 100644 index 0000000000..ad17fa0002 --- /dev/null +++ b/heat/locale/zh_CN/LC_MESSAGES/heat-log-error.po @@ -0,0 +1,83 @@ +# Translations template for heat. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the heat project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Heat\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-04 06:02+0000\n" +"PO-Revision-Date: 2014-06-30 05:01+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/heat/" +"language/zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: heat/openstack/common/excutils.py:76 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "正在删除原始异常:%s" + +#: heat/openstack/common/excutils.py:105 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "意外的异常已发生 %d 次...正在重试。" + +#: heat/openstack/common/lockutils.py:120 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "未能释放所获取锁定“%s”" + +#: heat/openstack/common/loopingcall.py:89 +msgid "in fixed duration looping call" +msgstr "在固定时段内循环调用" + +#: heat/openstack/common/loopingcall.py:131 +msgid "in dynamic looping call" +msgstr "在动态循环调用中" + +#: heat/openstack/common/policy.py:507 +#, python-format +msgid "Failed to understand rule %s" +msgstr "未能理解规则 %s" + +#: heat/openstack/common/policy.py:517 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "对于类型为 %s 的匹配项,不存在任何处理程序" + +#: heat/openstack/common/policy.py:787 +#, python-format +msgid "Failed to understand rule %r" +msgstr "未能理解规则 %r " + +#: heat/openstack/common/service.py:188 +msgid "Exception during rpc cleanup." +msgstr "在RPC清除期间发生异常。" + +#: heat/openstack/common/service.py:277 +msgid "Unhandled exception" +msgstr "存在未处理的异常" + +#: heat/openstack/common/db/api.py:72 +msgid "DB exceeded retry limit." +msgstr "" + +#: heat/openstack/common/db/api.py:76 +msgid "DB connection error." +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/session.py:460 +msgid "DB exception wrapped." +msgstr "数据库异常被包裹。" + +#: heat/openstack/common/db/sqlalchemy/test_migrations.py:267 +#, python-format +msgid "Failed to migrate to version %(version)s on engine %(engine)s" +msgstr ""